Preheat the oven to 350 F. Grease and line 2 8-inch round cake pans with parchment paper.
Sift the flour and cocoa powder into a large mixing bowl. Add the baking soda, baking powder, and salt, and whisk to combine. Add the sugar and whisk again.
Add the milk, oil, eggs, and vanilla extract and whisk until just combined.
Gradually pour in the boiling water, whisking as you go, until combined.
Evenly distribute the mixture between your prepared cake pans. Bake for 35 minutes or until a skewer inserted into the center of a cake comes out clean.
Let the cakes cool in the pans for about 10 minutes before transferring them to a wire rack to cool completely.
Make the frosting by adding the evaporated milk and egg yolks to a large saucepan and whisk them together (not on the heat).
Add the sugar to the saucepan and whisk again until dissolved.
Add the butter to the pan and heat on a low-medium setting, whisking constantly until the butter has melted. This will take about 10 minutes.
Remove the pan from the heat and add the pecans, coconut, and vanilla extract. Stir everything together and set aside to cool. It will thicken slightly as it cools.
Once the cake and coconut pecan frosting have both cooled, assemble the cake. Start by spooning/spreading half of the frosting all over one of the cake layers.
Place the second cake layer on top and spoon/spread over the remaining frosting.
Optionally decorate the cake with the halved pecans, then serve and enjoy.