Preheat the oven to 350 degrees F (175 degrees C). Grease and flour two 9-inch round cake pans.
Make cake: Stir together sugar, flour, cocoa, baking soda, baking powder, and salt in a bowl.
Add eggs, milk, oil, and vanilla; mix for 3 minutes with an electric mixer. Stir in boiling water by hand.
Pour evenly into the prepared pans.
Bake in the preheated oven until a toothpick inserted into the centers comes out clean, 30 to 35 minutes. Cool for 10 minutes before removing from pans to cool completely.
While cakes cool, make frosting: Cream butter with an electric mixer until light and fluffy. Stir in confectioners' sugar and cocoa alternately with milk and vanilla. Beat to a smooth spreading consistency.
Split the layers of the cooled cake horizontally, cover the top of each layer with frosting, then stack them onto a serving plate.
Frost the outside of the cake with remaining frosting.