In a small bowl, combine the warm water and active dry yeast. Stir gently and let it sit for about 5-10 minutes until it becomes frothy.
In a large mixing bowl, whisk together the whole milk, granulated sugar, melted butter, and salt. Add the frothy yeast mixture and lightly beaten eggs. Mix until smooth.
Gradually add the all-purpose flour, one cup at a time, mixing until the dough begins to pull away from the sides of the bowl.
Turn the dough onto a floured surface and knead for about 8-10 minutes until smooth and elastic. Add extra flour if dough is sticky.
Place the kneaded dough in a greased bowl, cover with a kitchen towel, and let it rise in a warm place for 1-2 hours until doubled in size.
Punch down the dough and divide into 12-15 equal pieces. Shape each into a ball and place on a greased baking sheet with space between them.
Cover the shaped rolls with a kitchen towel and let them rise for 30-45 minutes until doubled in size.
Preheat oven to 350°F (175°C).
Bake rolls in preheated oven for 15-20 minutes until golden brown on top.
Remove rolls from oven and cool on a rack for a few minutes. Serve warm with butter.