ZIP can contain arbitrary data before the archive data itself. That's an intended feature that's used e.g. for self-extracting archives. They look like this on disk:
+-----------+-------------+
| extractor | zip archive |
+-----------+-------------+
The extractor, when run, simply opens itself as a ZIP archive and decompresses itself.
So you could append the ZIP archive to an image file and then decompress the result without having to remove the image beforehand.
But you cannot concatenate several ZIP archives and expect a working bigger archive.
Pretty sure, with gifs and zip you can just combine them together with one append command and you are done.