First - for this operation you will need to stop your VM1. But I believe this is not a concern since you are planning to make VM2 work as VM1.
Second - It's impossible to attach new or existing static internal IP to an existing VM.
If you want to reserve internal IP address for VM2 then the only way I know is the first method I described.
First method - switch disks. Simple but may require some configuration after the switch.
- create VM2 (may be identical but you may add processors or RAM if you need)
- configure VM2 with all you need to do the job of VM1
- clone VM2's boot disk (lets call it disk22)
- stop VM1
- detach a boot disk from VM1
- attach disk22 to VM2 (just like you would switch disks on a regular PC)
- start VM1 (but running off of a VM2's cloned disk)
Done. Very simple and elegant. You can then Create another VM using VM1's old disk (which is detached at the moment).
I don't know if there will be any issues with booting Windows or any other running services (that may have depend on the old VM'2 IP) but this is your part.
Second method - switch addresses. More complicated but you may loose your original IP - but if you're the only person having administration rights to this VPC (or a project) then you should be OK.
Ephemeral internal IP addresses: these addresses are available to VM instances and forwarding rules. Ephemeral internal IP addresses remain attached to VM instances and forwarding rules until the instance or forwarding rule is deleted.
Procedure is as fallows (for this example my VPC network name was default
- if yours is names otherwise please make proper changes).
- create new VM2 with all needed configuration
- stop VM2
- create new VPC and call it
lan1
(or whatever you like)
- change Network on VM2's primary network interface to
lan1
(select ephemeral internal IP address):

- stop VM1
- note VM1's IP - lets call it
ip1
- change Network on VM1's primary network interface to
lan1
and select "Ephemeral (automatic) as Primary Internal IP:

- change Network on VM2's primary network interface to
default
and select as "Ephemeral (custom)" Primary Internal IP and type the noted earlied IP in the "address" field.

- start VM2
Why going through lan1 ? For some reason GCP console refuses to change even ephemeral (custom) address to different one:

This way you end up with VM2 having address you wanted.
If you want it to be a static one you need to promote it.
Both methods minimise the downtime to a couple of minutes.
If you're OK with a longer downtime and can create&configure you new VM quick then you can turn off VM1, change it's IP, reserve it as a new static internal IP and then create VM2 with that IP.