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.
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.