Your question is really two questions:
Why one prefers MongoDB
As I mentioned in my comment, this is a pretty subjective question, and as such it doesn't fit well in the StackOverflow Question and Answer design.
Is there any kind of user authentication possible within the app?
MongoDB is simply a database: it stores data. It doesn't provide logic (such as "user authentication" or "shopping cart" or "blog post"). It provides the ability to store general data. You can certainly build applications that deal with authentication using MongoDB.
Flask is simply a framework used to handle web requests. Unlike frameworks like Django, it is designed to handle some "bare necessities", and leaves logic such as "authentication" or "submit a blog post" in control of the programmer to design. So, once again, no out-of-the-box support for authentication, but it's possible to build such a system using Flask and MongoDB as your building blocks.
See some Flask documentation on authentication for more info on some possibilities with Flask.
There are also extensions to Flask that are designed to do authentication.