I think Option 2 provides the most logical consistency. Although you're building a website, and not an API, I'd say there is still some relevance in this advice. Each endpoint is clearly defined where it's coming from, and you aren't left with the odd situation of mixing blueprints for different parts of the URL. This way, you always know exactly where to work if there is a problem.
You should have all of the complicated logic outside of your blueprints, and inside of libraries. I'd assume you're using a database somewhere to store everything, so you're going to need a library for that anyway. You should then have a form template that you can use for the form, wherever it happens to be served. If the complicated logic is in libraries and forms, there is little cost to duplicating functionality at each endpoint.
Source: Currently working on the redesign of a huge API, so I've been talking with lots of people about best practices recently.