Here is a repost of my suggestion from a similar thread, expanding on nelson's response. The advantage is that you do not need to disable iCloud Keychain globally to resolve this issue:
I too was facing this problem and came up with a slightly more elegant workaround.
In the end, I deleted all of the relevant Wi-Fi networks from iCloud Keychain and used configuration profiles to install the network credentials on the desired devices instead.
I have written a step by step guide for those not familiar with creating and installing .mobileconfig files for OSX & iOS.
We're going to create a config profile for each SSID and password combination and install those selectively on our devices.
- Install Apple Configurator (free) from the Mac App Store.
- Launch Configurator, proceed past first run screens.
- Select the Supervise tab from top toolbar of the main application window.
- Under All Devices > Settings > Profiles, click the '+' icon to create a new profile.
- Under the General tab, give the profile a name, I suggest the same as your first Wi-Fi SSID.
- On the left select Wi-Fi, click Configure.
- Enter the SSID in the SSID field. From Security Type, select Any (Personal).
- Enter the Wi-Fi password into the Password field.
- Click Save.
- Repeat steps 4-8 for your second and any other SSIDs.
- Select each of your profiles one by one and click the share icon to export the profiles.
Now that this is done, delete your SSID settings from iCloud keychain, e.g. on your Mac go to System Preferences > Network > Wi-Fi > Advanced and forget any of the SSIDs in question by selecting their names and clicking the '-' icon.
Keychain sync should forget these networks across the board, but you may need to repeat this step on your iOS devices by selecting 'Forget this network' from the SSID settings if it auto-connects undesirably. YMMV.
You are now ready to install the profiles by double clicking, or by opening from an email attachment on any iOS devices, accepting all security warnings.