I know that it is possible to turn python files into .exe files but why would you need to do that? What are the benefits?
A lot of the time, it has to do with bundling.
Consider that when you go to distribute a standalone Python program, you often have to assume that whomever the program is intended for already has, at the very least, a Python interpreter of a compatible version installed. Similarly, if your program uses packages or modules which aren't part of the Python standard library, you will also have to make the assumption that the intended users also have your program dependencies installed or are using pip to install it via your listed setup.py dependencies. Typically these are not good assumptions.
There are a number of ways of addressing this issue, and bundling a Python interpreter with the necessary dependencies installed into the distribution itself is a popular one. For Windows users in particular, many developers like to release such bundles as .exe files using a C or C++ wrapper for the sake of user convenience: A user need only double click the bundled program to launch it with minimal setup. This is how a lot of ".py to .exe" conversion programs work, such as the popular py2exe Python package.
Why would you need to turn a python file into an executable?