01 - Preheat oven to 350°F. Grease and flour two 8-inch round cake pans, lining bottoms with parchment paper for easy release.
02 - Sift together flour, sugar, cocoa powder, baking powder, baking soda, and salt in a large mixing bowl, ensuring no lumps remain.
03 - Add eggs, milk, vegetable oil, and vanilla extract to the dry mixture. Beat on medium speed with electric mixer until smooth and fully incorporated, about 2 minutes.
04 - Carefully pour in boiling water while mixer runs on low speed. Batter will become thin and glossy. Mix until just combined, about 1 minute.
05 - Divide batter evenly between prepared pans. Bake for 30-35 minutes until toothpick inserted in center comes out clean. Rotate pans halfway through baking.
06 - Let cakes cool in pans for 10 minutes before inverting onto wire rack. Cool completely to room temperature, about 1 hour, before frosting.
07 - Beat softened butter until creamy. Gradually sift in powdered sugar and cocoa powder, mixing on low speed until combined. Increase speed to medium-high and beat for 3 minutes until fluffy.
08 - Add vanilla extract and salt. Pour in milk one tablespoon at a time, beating until smooth and spreadable consistency is achieved.
09 - Place first cake layer on serving plate. Spread generous amount of frosting evenly over top. Position second layer on top, pressing gently.
10 - Apply thin crumb coat over entire cake, then chill for 15 minutes. Finish with remaining frosting, smoothing top and sides with offset spatula. Decorate as desired.