All the instances of a sprite share the same animation images. The current frame of an instance just references which image of that sprite object is used. So when you load a image from a url it replaces the shared image.
In other words say your sprite is named "sprite" and it has three animation frames.
Sprite object:
frame 1
frame 2
frame 3
Next you have four instances, all which use frame 1.
sprite instance 1 -> frame 1
sprite instance 2 -> frame 1
sprite instance 3 -> frame 1
sprite instance 4 -> frame 1
So now if you use the "load image from url" action the instance's image isn't replaced (instances only reference images), instead the "sprite" type's image is replaced.
You can't add a frame on the fly with the sprite object. You could just set each instance to use a different frame, but yeah you do need to add them at edittime.