Make the vanilla pudding filling by mixing together the pudding mixes and 3 cups milk according to package instructions. Fold in the thawed whipped topping and mix well until fully combined and creamy.
In a 9×13 baking dish, layer 1/3 of the graham crackers in an even layer on the bottom.
Spread 1/2 of the vanilla pudding filling over the graham cracker layer. Top with another 1/3 of the graham crackers, then the remaining 1/2 of the filling, and finally top with the last 1/3 of graham crackers.
For the chocolate topping, heat the 1/4 cup milk, cocoa powder, and sugar in a saucepan over medium heat until boiling. Let bubble for 1 minute, then remove from heat and stir in the butter and vanilla until smooth and shiny.
Pour the warm chocolate topping evenly over the top graham cracker layer.
Refrigerate the assembled cake for at least 2 hours before slicing and serving, up to overnight.