How to make a duplicate with the same animation in a different location?
You can do this by first parenting the animated object to an Empty. It's best to do this while they are both free of transforms (X:0,Y:0,Z:0). Then when you make a duplicate, duplicate the Empty together with the animated object. Since the object's LocRotScale will be relative to the Empty instead of the World, everything will behave as you described.