The structure of any of the custom fields cannot change, meaning, checkboxes will have to remain checkboxes etc. and all of the existing value must keep functioning after the fixing process. It must be seamless.
As stated, this is not possible.
While I can help craft a code that will take old values, and save nothing for where 0 was saved, I cannot help you to have this same structure in future.
We would need to update all existing Posts (their Fields) and then, change the options settings for that Field in the Post Field Group.
So, all new posts will never again save 0 to the database but nothing, if not checked.
I cannot solve this today immediately, it is a large and complex code to write, we deal with Checkboxes, which are special arrays, and that requires some time.
My plan was, if you agree, to take the original Duplicator which I still have, run my script there, make a test by adding as well new posts, and check if this feature then works.
After, I will share the script with you, and you can test this on a staging site for example (it will be simple to test).
After, if you also confirm it's working, you can then go ahead and apply that once on the live site.
The Script will only influence the specific field that is of type Checkboxes, and it will only edit this field for one post type a time.
For other Post Types, and fields, we would need to alter the script slightly.
If this is OK for you, I assume I am able to provide you with this script by tomorrow, ready to be used and adapted to also other sites/types/fields of type checkboxes.
Doing this online is not really worth it, as it's simply about loading a certain URL in the front end, whereas the script will execute.
But if you wish, you can schedule a call here:
https://toolset.com/toolset-support-policy/ask-support-video-call/
Please let me know if you are OK with the outlined process.