The problem is he ran the script once and created a copy of an object assigning it a name. Then he ran the script again on the same original objects and tried to create another copy of that object with the name he had previously assigned to the first copy. Two objects cannot share the same file name and the rename function ignores the overwrite outputs setting. With Rename the second time you run a script to reuse a name, you must add a delete routine.
Anytime I configure a Rename script I actually have to run it 2 times to create a script that will run correctly from that point on. First using just a rename, the second time deleting the previously renamed object and then renaming another copy with that name (the delete function made no sense during the first run, but it is needed during the second). The third time and following the script needs no modification, since it will remove the existing object with a given name and then rename a new object to that name.