I had another theory, 1.7.0 doesn't contain the encryption key stuff for Label Sync, but 1.7.2 and 1.7.3 do. Maybe the Label Sync service was expecting a encryption key that 1.7.0 didn't have in its electrum.dat file
So I backed up my labels via a Screenshot tool, restored from seed, added labels and API key in, forced upload Labels in Label Sync, and shut down Electrum.
When I restarted Electrum, it all worked!