Preheat the oven to 350°F. Grease a 9×13-inch baking dish with nonstick spray.
Prepare the cake mix according to the package directions. Pour into the baking dish and bake for 28 to 32 minutes, or until a toothpick comes out with a few moist crumbs.
Let the cake cool for 10 minutes.
Use the handle of a wooden spoon to poke holes all over the cake, spacing them about 1 inch apart.
In a microwave-safe bowl, combine the sweetened condensed milk and hot fudge sauce. Warm for 30 to 45 seconds and stir until smooth.
Pour the warm fudge mixture over the cake, spreading it gently so it runs into the holes. Let it sit for 10 minutes.
Whisk the pudding mix and cold milk together for about 2 minutes until thickened but still spreadable. Pour over the cake and spread into an even layer.
Cover and refrigerate for at least 2 hours.
Make the topping: Beat the cream cheese, powdered sugar, cocoa powder, and vanilla until smooth. In a separate bowl, whip the heavy cream to stiff peaks. Fold the whipped cream into the chocolate mixture until fluffy.
Spread the topping over the chilled cake. Garnish with chocolate chips and drizzle with chocolate syrup, if desired. Chill 30 minutes before slicing for the cleanest cuts.