I created a Contact Form page and added 4 checkboxes in a checkbox group to it. Everytime I modify the form in the CMS it duplicates the checkboxes. Right now I have 5 instances of each checkbox field. I have tried deleting and recreating the form. I could delete them from the database but I'm hoping for a way to prevent this from happening in the first place. I'm also worried that if I make a mistake deleting them, it will break the submissions piece.
Delete them directly in the Database. You can empty all EditableXXX tables, if you do not need to preserve any fields. Otherwise you have to delete only fields, which you do not need. Especially the fields with ParentID = 0;
Before making any such a form, first save the page and then start adding fields. This is a bug of SilverStripe.