When I have compiled my C++ program into an EXE file I click on the exe file to open the program.
What does this do. Does it create an instance of that program,, a copy of the actual program in runtime which would mean that I can click on that exe file and create as many instances as I want?
That's pretty much what happens, yes. The OS creates a process and a thread, then that thread begins executing your EXE inside the process. Of course there is more to it than that. A program can prevent multiple instances of itself through inter-process communication.