Is a single Python executable file shared by all clients when run on a server?
Each client will have their own running version. Definitely. 
If you want to have some sort of global variables, you should use some inter-process communication tools (message passing, synchronization, shared memory, or rpc). Redis, for example.
I've been working with a Tornado project on my local machine by running server.py. When deployed to the server (e.g. Heroku), will a single instance of server.py be shared by all clients or will each client have their own running version? I am wondering this because I am thinking of making use of global variables in server.py and wondering if they will be shared across all clients or just a single client.