Preheat your oven to 350 degrees Fahrenheit. Grease and flour two 9-inch round cake pans or line them with parchment paper to ensure the cake releases easily after baking. Having your pans ready before you start mixing the batter is key to a smooth baking process.
In a large mixing bowl, whisk together the all-purpose flour, granulated sugar, cocoa powder, baking powder, baking soda, and salt. Make sure to break up any large lumps of cocoa powder so the dry mixture is uniform and aerated.
Add the buttermilk, vegetable oil, eggs, and alcohol-free vanilla extract to the dry ingredients. Use an electric mixer on medium speed to beat the mixture for about two minutes until it is well combined and smooth. The batter will be quite thick at this stage.
Carefully pour the boiling water into the batter. Stir by hand or on a very low speed until the water is fully incorporated. The batter will become very thin, which is exactly what you want for a moist, tender crumb. This step “blooms” the cocoa for a deeper flavor.
Distribute the batter evenly between the two prepared cake pans. Bake for 30 to 35 minutes, or until a toothpick inserted into the center comes out clean. Allow the cakes to cool in the pans for 10 minutes before transferring them to a wire rack to cool completely before frosting.
To make the frosting, cream the softened butter and cocoa powder together in a bowl. Gradually add the powdered sugar and milk, beating on medium speed until creamy and spreadable. Stir in the alcohol-free vanilla. Once the cake is fully cooled, spread a layer of frosting on one cake, top with the second cake, and cover the top and sides with the remaining frosting.