Creating a new VM (with persistent disk) also creates new template with same name

That is the default behaviour. When you instantiate a VM to persistent, you are explicitly asking OpenNebula to create a VM Template to instantiate VMs with the changes made to the original, instantiated to persistent VM.