I'm not sure of the exact reason for this. It fails during the gzip decompression.
I've heard that this could be because Spore doesn't save all the required data in the PNG file, for creations that are well beyond the complexity limits. Therefore, it would not be possible to decode, as the data isn't even present in the PNG file.
More information is needed, before we can figure out how to fix this issue, or if it's even possible.
I'm not very familiar with Python, and therefore am not completely sure how to update it to work on newer Python versions. If anyone wants to take on the task, let me know!
My own focus is on the C# (.NET Core) decoder, but some people do prefer Python, so it would certainly be of help to those who want to play around with the PNGs.
PNGs containing Adventures will have extra data in a separate chunk of the PNG. As far as I know, this decoder does not look for this extra data, and so it fails to decode the PNG (gzip decompression fails, due to unexpected end of file - because the proper "end of file" is located in this extra data).