Warm the milk over low heat and mix in the sugar until it dissolves. Add in the butter and stir to melt. Set aside to cool until slightly warmer than body temperature (about 105 to 110 degrees) and mix in the yeast. Set aside for five minutes or until yeast looks like it’s frothy.
In a the large bowl of a stand mixer, sift together the flour and salt. Add in the yeast mixture, lemon zest and eggs. Using the dough hook, knead the mixture for about eight minutes on medium speed. It will be VERY soft and will not form a ball.
Using a rubber scraper, gather the dough in the bowl until it roughly forms a ball. Cover with plastic wrap and set aside in a warm place to rise until doubled. (I like to turn my oven on for one minute, kill the heat and set it inside the barely-warm oven to rise). This will take about an hour to an hour-and-a-half.
Once the dough has doubled in size, punch down and turn out into a lightly floured counter. Divide into 8-10 pieces, depending on the size you like for sandwich buns. Form into balls by rolling on the counter, and set on parchment-lined baking sheets, flattening slightly. Cover and let rise for an additional 45-50 minutes.
Preheat the oven to 400 degrees. Make an egg wash by mixing one egg with a tablespoon of water, and brush over the tops of the buns.
Bake at 400 degrees for about 15 minutes. Cool on wire racks before splitting and serving.