Prepare the dough: In a large bowl, combine warm milk, sugar, and yeast. Stir gently and let it sit for about 5 minutes, or until frothy. Add melted butter, eggs, and salt, then stir until well combined. Gradually add flour, one cup at a time, mixing until the dough forms.
- Knead the dough: Turn out the dough onto a floured surface and knead for about 8-10 minutes until smooth and elastic. If sticky, add more flour as needed.
- Let the dough rise: Place the dough in a greased bowl, cover with a towel, and let rise for 1-1.5 hours, until doubled in size.
- Prepare the filling: Mix softened butter, sugar, lemon zest, and lemon juice in a small bowl until smooth.
- Shape the rolls: Punch the risen dough down. Roll it into a 12×18-inch rectangle. Spread the lemon filling evenly, leaving a border.
- Roll and slice: Roll dough into a tight log and slice into 12 pieces.
- Second rise: Arrange rolls in a greased 9×13-inch baking dish. Let rise for 30-45 minutes until puffed up.
- Bake: Preheat oven to 350°F (175°C). Bake for 20-25 minutes, until golden brown and cooked through.
- Prepare the glaze: Whisk powdered sugar, lemon juice, and zest (if using) for the glaze.
- Glaze and serve: Drizzle glaze over warm rolls. Serve immediately.