I was surprised at how unimpressive zopfli was on those admittedly small, simple, images, so I grabbed one of your images off of Discourse. (It looked similar to the default letters you were testing and was off some account)
https://avatars.discourse.org/v3/letter/j/f6c823/45.png (J)
After 5 single-threaded seconds of 500 iterations on my old i5 here, zopfli spit out.
Input size: 572 (0K)
Result size: 548 (0K). Percentage of original: 95.804%
And for this one:
https://discourse-cdn.codinghorror.com/letter_avatar_proxy/v2/letter/k/d26b3c/32.png (K)
2 seconds and 500 iterations later…
Input size: 691 (0K)
Result size: 674 (0K). Percentage of original: 97.540%
Now, it’s still just a few bytes, since the input images were not large, but, a bit closer to the percentages you mentioned in the article.
BTW, cranking up the number of iterations didn’t gain anything further. Usually for small images 100 or 500 is pretty harmless. If you have a ton of 'em, all the more reason to spread it out over all the cores.