What is an object named when added?

I have a target that is added, does it keep its name if more then one are spawned?

I believe so.

Although, you can always run a few tests to make sure - just print the names of all your game objects after you add them:

for ob in scene.objects:

Yes, it does.
Essentially, when any object is added using the addObject Actuator or
bge.logic.getCurrentScene().addObect() it keeps the same name as the original object. That means that if you add three objects, you shall see:
object, object, object in the object list.
However, the actual object references are individual, so that the hitObject of a sensor will be individual, but if you print the object name (object.name) it will be the same as the other two.