Calendar app changes colour of a calendar on its own

The colors would come down from the iCloud servers if you set up a new calendar, so perhaps your device has sync issues.

You could try changing the color using the web interface or perhaps conider disabling calendar sync for a bit on the problem device. Once you're sure the color is set online, you can re-enable calendar sync from iCloud and see if the local version matches the online version settings.

If you don't want this potential change, sign out of iCloud on your Mac or subscribe to the calendars as opposed to syncing them.