Preheat your oven to 350 degrees F and grease two 9-inch cake pans with nonstick spray or butter. Make sure to grease them generously.
Sift the unsweetened cocoa powder, all-purpose flour, baking soda, baking powder, and salt, and set aside. In a separate bowl, combine the eggs, vegetable oil, milk, sugar, and vanilla extract.
Mix the flour mixture and egg mixture until well incorporated and then pour in the hot water slowly while mixing.
Divide the batter evenly between the prepared pans and tap the cake pans on the counter to get rid of any air bubbles. Bake the cakes for about 28-30 minutes or until a knife inserted in the center comes out clean.
Allow the cakes to cool completely before frosting.
To make the frosting, mix the unsalted butter and cream cheese until smooth. This should take 1 minute. Add the cocoa powder and powdered sugar and mix for 2-3 minutes. Add the milk and mix for an extra minute or two. If the frosting is too thick, add a splash of milk and continue mixing. The frosting should be nice and fluffy.
Frost the cake using an offset spatula, decorate with sprinkles or chocolate chips, if desired, and enjoy!