In a large mixing bowl, combine warm milk, yeast, and 1 tablespoon of sugar. Let it sit for 5 minutes until foamy.
Add the remaining sugar, eggs, butter, and salt. Mix well.
Gradually add the flour, one cup at a time, until a dough forms. Knead the dough for about 10 minutes until smooth and elastic.
Place the dough in a greased bowl, cover with a damp cloth, and let it rise in a warm place for about 1 hour or until doubled in size.
Meanwhile, prepare the topping by mixing butter, sugar, flour, and vanilla extract until a thick paste forms. Divide the topping into two parts and add cocoa powder to one part if making chocolate topping.
Once the dough has risen, punch it down and divide it into 12 equal pieces. Shape each piece into a ball and place them on a baking sheet lined with parchment paper.
Flatten a piece of topping and place it on top of each dough ball. Use a knife to score the topping in a shell pattern.
Cover the conchas with a damp cloth and let them rise for another 30 minutes.
Preheat the oven to 350°F (175°C). Bake the conchas for 15-20 minutes or until lightly golden.
Let the conchas cool on a wire rack before serving.