Make different datablock names.
Otherwise, you'll just be overwriting the real gun when it gets exec'd.
Generally, you can just Replace almost every instance of Gun with something else, (I.e. NewGun) and it'll be a separate item.
Just make sure you don't change the line that determines the model that is used, within the ShapeBaseImageData(GunImage) datablock... The one that looks like a file path, that is. Leave that alone or your game will dissconnect and say that a .dts doesn't exist when it gets around to defining that datablock.