Place warm water in the bowl of a stand mixer fitted with a dough hook OR a large bowl. Dissolve yeast in water and let stand 5 minutes until foamy.
Mix warm milk, honey, egg, and salt into yeast mixture until smooth. Add 5 cups flour to bowl and mix on low speed OR with a wooden spoon if making dough by hand until dough pulls away from sides of bowl, about 2 minutes of mixing (if dough seems a bit wet, add additional flour by the tablespoon until dough pulls away from sides of bowl)
Add softened butter by the tablespoon while mixer is running or fold in by hand with a wooden spoon until butter is combined in the dough.
If making dough in stand mixer, knead dough in mixer on low speed 5-7 minutes until dough is stretchy and elastic. If making dough by hand, turn dough onto a lightly floured surface and knead by hand until dough is stretchy and elastic, about 10 minutes of kneading.
Place dough in a greased bowl, turning once to grease top. Cover bowl with plastic wrap and let rise in a warm place at room temperature 1 to 1-1/2 hours until dough is doubled in size.
Once dough has doubled in size, preheat oven to 350F. Line 2 sheet pans with parchment paper and set aside.
Punch dough down and turn onto a floured surface. Roll dough out into a 9x13 inch rectangle. Cut rectangle into 15 even squares and arrange dough squares 1 inch apart on prepared sheet pans.
Brush dough squares lightly with egg wash and allow to rise at room temperature 30 minutes until dough squares are puffy and doubled in size.
Bake rolls at 350F 18-23 minutes until golden brown. Cool rolls on a wire cooling rack.