In a small saucepan, combine butter and water and bring to a boil. Once mixture is boiling, add in flour and stir with a spoon until the dough comes together. Continue to stir and cook the dough for about 1 minute. Allow dough to cool off to a lukewarm temperature.
Transfer dough to a medium mixing bowl. Beat in the eggs one at a time, either by hand or with a mixer. Make sure each egg is well mixed in before adding the next. The batter may look wet before it comes together, but keep mixing and a smooth dough will form. Transfer dough to a pastry bag fitted with a medium or large star tip. Pour about 2-inches of oil into a deep saucepan. Heat the oil over medium-high on the stove.
While the oil heats, prepare the Spanish hot chocolate. Whisk together the cornstarch and milk. Add the milk mixture, chocolate, and sugar to a small saucepan. Barely bring it to a boil so the chocolate melts but the milk doesn't burn, stirring often, and cook until sauce has thickened. Remove from heat.
Pipe 5 to 6-inch pieces of churro dough into the hot oil and cook until golden brown, then flip and cook until golden on the second side (about 5-6 minutes total). Remove from oil and set on some paper towels to drain, then sprinkle with powdered sugar.
Pour that glorious hot chocolate into small bowls or saucers and serve with a few churros on the side to dip. Enjoy the the chocolate coma that ensues and then get to planning your trip to Spain (trust me, it's worth it)!