Preheat oven to 425 F. Line 2 lightly colored baking sheets with parchment paper and set aside.
For the pate a choux: combine the water, butter, and salt in a medium-sized saucepan. Place over medium heat until the butter has melted. Then increase heat to high and bring to a rolling boil. Remove the pan from the heat, and add the flour all at once, stirring vigorously.
Return the pan to the burner and cook over medium heat, stirring the whole time until the mixture smooths out and follows the spoon around the pan (about 30 seconds). Remove the pan from the heat, and let the mixture cool for 5 to 10 minutes. It'll still feel hot, but you should be able to hold a finger in it for a few seconds. (You want to cool the mixture so you don't cook your eggs when you beat them in.)
Transfer the mixture to a bowl or the bowl of a stand mixer, and beat in eggs one at a time. It'll look curdled, but when you add the last egg it should become smooth. Beat for at least 2 minutes after adding the last egg.
Using a generously filled tablespoon cookie scoop, drop the thick batter onto the prepared baking sheets in 3- to 4-tablespoon mounds. Space the mounds about 3" apart, to allow for expansion. Bake 15 minutes, then reduce oven temperature to 350°F and bake an additional 25 minutes, until pastries are a medium golden brown. Don't open the oven door while the pastries are baking.
Remove the cream puff shells from the oven. Make a small slit in the top of each, and return to the oven for 5 minutes. This will allow the steam to escape. Place them on a rack to cool. When they're cool enough to handle, split each in half to make top and bottom pieces; splitting and exposing the centers to air will help keep them from becoming soggy.
For the lemon filling: Mix lemon pudding, heavy cream and milk together to combine. Then beat for 2-3 minutes until light and fluffy. Stir in vanilla, lemon zest and sugar. Fill each cream puff generously with filling and sprinkle with powdered sugar.
Refrigerate until ready to serve.