Preheat oven to 350°F. Grease a 9x13-inch baking pan with non-stick cooking spray and set aside.
In a large bowl, whisk together flour, sugars, cocoa powder, baking powder, baking soda, and salt.
In a medium bowl, whisk the eggs, then add milk, vegetable oil, and vanilla extract. Mix until combined.
Pour the wet ingredients into the dry ingredients and stir until combined.
Add the hot water and whisk until the batter is smooth.
Pour batter into the prepared pan.
Bake for 30–35 minutes, or until a toothpick inserted in the center comes out clean.
Allow the cake to cool completely before frosting.
In a large bowl, beat butter with an electric mixer until smooth and creamy.
Add powdered sugar one cup at a time, alternating with 1 tablespoon of milk, beating until smooth after each addition.
Add cocoa powder and vanilla extract.
Beat until light and fluffy.
Spread frosting evenly over the cooled cake.
Slice and serve.