The only way I can think of to make the checkboxes required would be using JS, maybe make an object with each of the checkboxes as keys and a true false value that is toggle with the checkbox then test whether at least one value is true before submiting the form?
I looked into drop down menus for mine as well as far as I can tell the only reasonable solution to making them a little less ugly is making a custom menu instead of <select> and <option> tags. Something to do with the way different OS / browsers render them so there was a decision to allow minimal customization of styling around CSS2.
The form looks good though! I’m not sure I like the gradient on the submit button, it looks a little 90s to me.