Operating system maintains copy of page table for each process
why does it keep copy of instruction counter and register contents?


It's because of process scheduling.

Let's say a process comes in execution first time and executes some lines of instruction. The registers contain values as per the instructions executed till now. Now if the process switches from running state to waiting state (due to I/O or preemption) and then comes back to the running state, it must have the same register values for further execution. So OS stores a copy of each register in the program control block(PCB).


  I don't understand why OS would copy the page table, isn't it the one
  creating and maintaining it?


Again, if the process goes out of execution, OS must save the information regarding frames of memory allocated to the process.