Combine Dry Ingredients
In a heavy-bottomed pot or enameled Dutch oven, whisk together the sugar, unsweetened cocoa powder, and cornstarch until well combined.
Add Milk
Gradually whisk in the milk, making sure the chocolate mixture is smooth and lump-free.
Cook Mixture
Place the pot over medium-low heat, stirring constantly to prevent scorching. Cook until the mixture thickens and begins to bubble gently.
Temper Egg Yolks
In a separate bowl, beat the egg yolks. Slowly add about 1 cup of the hot mixture to the yolks, whisking constantly to avoid scrambling.
Combine Mixtures
Pour the tempered egg yolks back into the pot, stirring constantly.
Thicken the Pudding
Return to medium heat and cook for 2 more minutes, stirring constantly, until the pudding reaches a rich, creamy texture.
Add Butter & Vanilla
Remove from heat and stir in the butter, salt, and vanilla extract until fully incorporated.
Cool Slightly
Let the pudding cool at room temperature for about 30 minutes. This helps avoid condensation inside the molds.
Make the Fudge Pops
Spoon or pour the pudding mixture into popsicle molds (or use paper cups with wooden sticks). Tap gently to remove any air pockets.
Freeze
Place in the freezer and freeze for at least 6 hours or overnight. To release, run warm water over the outside of the mold and gently pull from the bottom of the mold.