In a medium saucepan, set over medium heat, whisk together sugar, flour, cornstarch, salt and cocoa.
Slowly add the milk, while whisking briskly, and beat until smooth.
Cook, whisking constantly (and scraping the sides and corners of the pan) until mixture boils.
Reduce heat to medium-low, and continue cooking and whisking until mixture is very thick, about 4-8 minutes. Transfer mixture to a wide bowl, and place plastic-wrap directly on the surface of the chocolate/milk mixture. Set aside to cool completely, about 2 hours.
Once the chocolate/milk mixture has cooled, fit a stand mixer with the paddle attachment and add the butter to mixing bowl.
Beat the butter, on medium-high speed, until lighter in color and fluffy, about 5 minutes.
Reduce speed to medium speed and add cooled chocolate/milk mixture, and vanilla. Beat together, scraping down the inside of the bowl as needed, until incorporated.
Increase the speed to medium-high and beat until frosting is light and fluffy, about 3-5 minutes, scraping down the sides as needed.
Add the melted (and cooled) chocolate, and beat until melted chocolate is incorporated, about 30 seconds.
Enjoy!