Heat oven to 350°F. Grease shallow 2-quart baking dish with butter. Add bread, walnuts to dish.
Combine 2 cups milk, butter, sugar, salt in saucepan. Bring to simmer; stir to melt butter. Remove from heat. Add chocolates; let stand 5 minutes. Whisk until smooth.
Whisk eggs, vanilla and remaining milk in bowl. Whisk into chocolate mixture; pour over bread.
Bake in 350°F oven for 35 to 40 minutes or until set in center.
Bring cream, sugar and salt in saucepan to simmer. Stir in cornstarch; simmer, stirring, until thickened, about 1 minute. Remove from heat. Stir in white chocolate and vanilla until smooth. Serve with warm or room-temperature pudding.