The program counter isn't the only element of that "what the program is doing now" state though. The context in which the current instruction is being executed makes a world of difference.
And the ability to save all of that into a variable so that you can pass it around to other parts of your program means that your programming language supports Continuations.