A campaign can have multiple versions.
In this way, if you have to change anything to the fields of a published campaign, you can copy all the settings from a previous version.
The new version will always start in draft status, meaning you can change everything you want to.
Concerning account contracts, account contracts have, by default, the setting "allow newer versions".
Meaning that those contracts will also receive leads for the newer version of the campaign.
Of course, if they have any integration etc. you must make sure that this will still work for them. To help you with this task, you can use the following reports: Contracts with outdated settings & Contract finder.
If you use affiliate partners, you have to make a new contract.