This can also be because you've enabled 'Node auto-provisioning' on the cluster. The naming seems to imply that it provisions nodes but if you read the blurb along side it, it actually auto-provisions node pools.
Node auto-provisioning automatically manages a set of node pools on the user's behalf. Without node auto-provisioning, GKE considers starting new nodes only from the set of user created node pools. With node auto-provisioning, new node pools can be created and deleted automatically. Learn more
What you probably want to do instead is edit each of your node pools and enable "cluster auto-scaler", set the node pool limits and zones you require.