Add chocolate and milk to a medium sauce pan and place over medium-high heat. Cook until chocolate melts, stir the entire time to ensure that it does not burn.
Whisk in sugar, cornstarch, cocoa, and salt until smooth. Continue to cook the chocolate mixture until it is thick, about 5-7 minutes. Remove from heat.
Stir in the vanilla and butter until completely combined and smooth.
Pour enough chocolate mixture to fill 1/4 of each Popsicle mold, saving enough for topping. Place in freezer for 5 minutes while you prepare the marshmallows and graham crackers. Do not put in Popsicle sticks yet.
Toast the marshmallows on one side by roasting them in the oven under low broil for 1-2 minutes, or use a Crème Brule.
In another bowl, combine 2 tbsp melted butter and sugar, and graham cracker crumbs until well combined.
Then using the end of a Popsicle stick, push the “toppings” into the fudgesicle layer. Then top with chocolate mixture until 3/4 full, place in freezer for 5 minutes, once again without the Popsicle sticks.
Remove the Popsicle molds from the freezer and add a few chopped chocolate chunks, 3-4 toasted marshmallows, and about 2 teaspoons of graham cracker “crust” on top.
Using the Popsicle stick, push the “toppings” into the fudge. Top off with a sprinkle of the graham cracker crust if desired.
Place the lid on the Popsicle molds and add sticks to fudgesicles. Place in freezer until frozen or ready to serve. This takes at least 4 hours. Remove from freezer and serve immediately. Enjoy!