Preheat oven to 180°C. Prepare two 22cm cake pans with baking paper on the bottom and sides.
Sift the flour, sugar, cocoa, baking powder, and baking soda into a large bowl or the bowl of a stand mixer. Add the salt and coffee. Stir to combine or use the paddle attachment on your stand mixer to combine. Add buttermilk, oil, eggs, and vanilla to the flour mixture and mix together until combined. Do not over-mix.
Carefully add boiling water to the cake batter until the mixture is well combined. The cake batter will be very thin after adding the boiling water. This is perfectly fine. Adding boiling water results in the most delicious and moist chocolate cake. Distribute the cake batter evenly between the two prepared cake pans.
Bake for 35 minutes until a skewer inserted in the centre of the cake comes out clean. Remove from the oven and allow to cool for 10 minutes before removing from the pan to cool completely.
For the icing, add the cocoa to a large bowl or bowl of a stand mixer. Whisk through to remove any lumps. Add the butter and mix together with the cocoa powder until well combined. Add sugar and milk to the cocoa mixture by adding 1 cup of sugar and about 1 tablespoon of milk. After each addition has been combined, turn the mixer on high speed for about 1 minute. Repeat until all sugar and milk has been added. Add vanilla extract and combine well.
If the icing appears too dry, add more milk, a tablespoon at a time, until it reaches the right consistency. If it appears too wet and does not hold its form, add more icing sugar, a tablespoon at a time, until it reaches the right consistency. Spread half of the icing thickly on top of one of the cakes. Gently place the other cake on top and top it with the remaining icing.