Warm the milk in a saucepan over low heat, stirring occasionally, until it reaches 110℉.
In a large bowl, combine the warm milk and yeast. Let sit for 5-10 minutes, until foamy.
Add the sugar, 2 eggs, melted butter, salt, vanilla extract, and almond extract (if using), and stir until well combined.
Gradually mix in 3½ cups of flour until a soft dough forms. Add more flour as needed, just until the dough pulls away from the sides but still feels slightly tacky.
Turn the dough onto a lightly floured surface and knead for 8-10 minutes, until smooth and elastic.
Place the dough in a greased bowl, cover, and let rise in a warm spot for about 1 hour, or until doubled in size.
Punch down the dough and divide it into three equal pieces. Roll each piece into an 18 inch rope, then braid them together. Pinch the ends to seal and shape into a ring or leave as a long loaf.
Transfer to a parchment-lined baking sheet. If using, gently tuck colored eggs into the braid. Cover loosely and let rise again for 30-45 minutes, until puffy.
Preheat the oven to 350℉. Brush the loaf with beaten egg.
Bake for 25-30 minutes, until golden brown and the loaf sounds hollow when tapped on the bottom.
In a small bowl, whisk together the powdered sugar and milk until smooth.
Drizzle the glaze over the warm bread and add sprinkles right away, if desired.
Let the bread cool completely before slicing and serving.