Preheat oven to 350°. Line three 6" cake pans with parchment paper and set aside. You can also use two 8" cake pans if you prefer.
In a large bowl, combine flour, sugar, cocoa, baking soda, and salt; set aside.
Scoop avocado out into a small bowl, then use a fork to mash it really well (mash for at least 30 seconds to remove as many lumps as possible). In a separate bowl, whisk the eggs together, then add the syrup, milk and vanilla. Last, add in the avocado.
Pour the wet ingredients into the dry ingredients, then use a spatula to fold everything together. There WILL be some avocado lumps, and that's ok! Make sure not to over-stir the batter.
Once everything is combined, pour batter evenly into the prepared cake pans. Bake cakes for 30-35 minutes, or until a toothpick comes out clean. Leave cakes in the cake pans for 10 minutes, then run a knife along the edges and carefully invert them onto a cooling rack. Allow cakes to cool before icing.
For the icing: mash the avocado into the bottom of a large bowl. Then, thinly slice the butter and add it to the bowl. Next, melt chocolate and coconut oil together (over the stove or in the microwave) until smooth, then pour the melted chocolate over the butter and avocado and allow it to sit for 3-5 minutes, which should soften the butter. Use a spatula to stir everything together until the butter is smooth (this may take a minute). Don't worry if the butter isn't COMPLETELY melted--it will melt once everything is mixed together. Then, add the powdered sugar and use a hand mixer to combine everything. The icing should be thick but still spreadable.
To assemble: You do NOT need to slice off the tops (the "dome") of the cakes. Instead, just place a dollop of icing over each layer and spread it a bit, then repeat that step, stacking the cakes as you go. Top the entire cake with extra chopped chocolate and enjoy!