Because the parameter name changes.
I think it would be good if you could directly load a checkpoint with mismatching conditions (weight dropout on or off).
The code should stay simple though. The nice thing about the current code is that it is quite straightforward and simple.