Hey!
Correct me if I'm wrong, but Joplin has all of what you're asking for and if you self-host, even a few more big things like note sharing and note collaboration.
As for multiple users: You can have multiple users ("Profiles") locally inside the app, or if you mean different accounts altogether, you can indeed have and manage them all in your own self-hosted Joplin server instance. Again, Joplin has collaboration and that necessarily entails more than one user/account! But we might mean two different things, happy to help in either case :P
Edit: added collaboration.