Dal codice si deduce che la API usata per il caricamento è quella della Image di JavaFX. Quindi nulla di strano, ok anche l'uso delle "risorse".
L'unica cosa a cui posso pensare è appunto la questione del "gamma correction", che esiste nel formato PNG. Il PNG è fatto a "chunk", ovvero blocchi di dati ben marchiati come tipo, lunghezza e con un CRC (Cyclic Redundancy Check) finale di sicurezza nel blocco. Ci sono chunk obbligatori e altri opzionali. Il chunk del gamma correction è opzionale. Un software potrebbe rispettarlo o ignorarlo.
Non ho modo adesso di fare delle prove (e non ho un Mac). Leggi magari:
http://jonathannicol.com/blog/2006/12/01/fixing-png-gamma/
Ci sono tools per ottimizzare i png e rimuovere i chunk non strettamente necessari. Fai qualche prova. Se aveva e riesci a togliere il gamma correction, riprova come hai fatto vedere nelle 2 immagini affiancate.