I am certain Gail thanks yes - I only have 1 Apple ID.
The problem I don't think is the macs - they're in sync with the cloud as you can see from the # of contacts above - if I add a contact on my mac, it's pushed to the cloud and to all my devices, including my phone.
The problem sits with my iPhone's ability to update the contacts in the cloudm so I think the problem is on my iPhone. I add a contact on my iPhone, and it just sits there in my phone - it doesn't do anything with it at all. So over the last few weeks - I now have a situation where I have 617 contacts on my phone, and 533 in my cloud, and all my other devices.
I've tried now just deleting all of my contacts everywhere, (after backing up) - EXCEPT my iphone. I've added 3 new contacts on my phone. I've now got 620 contacts on my phone, 0 in the cloud, and 0 on both of my macs and my iPad. I have then tried switching my iCloud contacts off, switch phone off and on, then switch iCloud contacts on - still got 0 contacts in the cloud. So I then tried your suggestion of removing the iCloud account on my iPhone, switched off my phone and on again, then added my iCloud account - and STILL zero contacts in my cloud account.
I've now done this about 6 times, and still does nothing, my iCloud is now on on all devices, including my cloud account and all my contacts are empty (apart from the 620 on my iPhone)
This is driving me mad - there should be some sort of force refresh...