Handling Many Unexpected States with except
Handling "too many" return statements.

If your linter tells you, that you have too many return statements, this is a hint. A linter is supposed to  support you in writing quality code.
If however your code needs that specific exception handling this is what you need to implement and you can ignore the linter's hint.
I am not sure whether you can break down the code into several methods, each handling only a part of the possible exceptions, since you decided not to share this essential part of the code with us (# Some other stuff that throw meaningful exceptions).

Re-use of exception handlers

If you want to re-use the exception handlers, you can refactor them into the __exit__ method of an appropriate context manager.
Then you can do something like:

@app.route("/sayHello")
def sayHello():
    with ErrorHandler as error_handler:
        name = get_session_data("user", "name")

        # Some other stuff that throw meaningful exceptions

        return someTemplate

    return error_handler.retval


And re-use the respective context manager ErrorHandler accordingly.