At a high level a 404 on submission likely means one of two things:
we never processed the form (so you won’t see the form in our dashboard - this is step 0 in the troubleshooting guide so I guess it isn’t your problem? If so stop trying to debug why submission isn’t working, and start debugging why we didn’t see your form instead :))
you are POSTing to a URL that we are not expecting you to. Usually you’d have an action=/path parameter pointing to some file or route in your site in the html form definition EVEN IF IT IS AN AJAX FORM that is used in production. If we don’t see that action then posting to /path (or if we see it pointing to a DIFFERENT path), the submission will not work, since we aren’t expecting it and our service returns 404’s to unexpected POSTs.
My problem has been fixed by Enable Form Detection then I reuploaded my site (this is the trick). You can update the site after enable the form detection, by uploading the site again. I hope this will work for Page Not Found issue.
I know this is old, but there is a possibility that this may not be working because the form is not present at build time considering it’s a modal, so one would assume it’s hidden by default, and would only show upon a button click, so netlify would have no way to parse it. It’s just my assumption, but I ran into a similar situation, moving the form onto the page instead of a popup started to make it work.