Make the cream puffs: In a medium saucepan, combine the water, butter, and salt. Bring to a boil over medium heat, stirring until the butter is melted. Remove from heat. Quickly stir in the flour until a smooth dough forms and pulls away from the sides of the pan.
Add eggs: Beat in the eggs one at a time, mixing well after each addition. The dough will be smooth and glossy.
Bake cream puffs: Drop rounded tablespoons of dough onto baking sheets lined with parchment paper, leaving about 2 inches between puffs. Bake at 400°F (200°C) for 25-30 minutes, or until golden brown and puffed up. Let cool completely on a wire rack.
Make the filling: In a large bowl, whisk together the instant pudding mixes and milk for 2 minutes. Let stand for 5 minutes to thicken. In a separate bowl, beat the softened cream cheese and powdered sugar until smooth. Gradually add the pudding mixture to the cream cheese mixture, mixing well. Fold in the thawed whipped topping.
Assemble the cake: In a 9x13 inch baking dish, arrange half of the cooled cream puffs in a single layer. You can cut them in half if they are too large. Pour half of the filling over the cream puffs. Add another layer of cream puffs, followed by the remaining filling.
Make the chocolate topping: In a small saucepan, melt the chocolate chips, milk, and butter over low heat, stirring constantly until smooth. Alternatively, you can melt these ingredients in the microwave in short bursts, stirring between each burst.
Pour chocolate topping: Pour the melted chocolate topping evenly over the filling.
Chill: Cover the dish and refrigerate for at least 4 hours, or preferably overnight, to allow the filling to set and the flavors to meld.