This is one of the more challenging setups to get right.
It used to be that 3-way sync was a logistical nightmare, and you're looking to do at least a 5-way sync.
Thankfully, Apple and a few other companies have been dealing with this for a while and have mostly gotten the hang of it, but I will caution you before you commit fully that there are risks: One device may update the phone number for a contact and that might get reset by another device, a device may mess up the sync and lose contacts, then sync that loss across all devices (much less likely in the past 5 years, but still a chance), one device may need to be re-set up, and knowing the risks you may feel dread at the process, etc.
With that to the side: there is only 1 general way to do this, and a myriad of companies to choose.
You must use a central host for your contacts, with all devices talking directly to it.
Of course, with Apple, this the iCloud account.
This could also be a Gmail account, or some other contact-hosting service. It could even be a generic MS Exchange server.
Going with the setup you've already detailed, it seems your best choice is to wipe accounts on the non-syncing iPhone and re-do them: starting with your own, making sure contact sync is OFF, then adding your husband's AppleID and making sure contact sync is ON.
Any additional accounts need to have contact sync off to prevent problems in future.
I would also suggest that you choose to wipe you phone's contacts before you add his AppleID, allowing his contact list to anchor in as the baseline.