Did you maybe forget to clone the parameters of model1 (used in the AMP run) and might be comparing  the parameters of model (used in the FP32 run) during the AMP run?
If I copy-paste your code and adapt the AMP model name, I get valid updates (seen via False...).