For some reason this PNG with a transparent background shows up with white edges but only when on a grey background of nearly the same shade, it’s fine on black or light grey.
It’s 24bit file and done the same way I done many times before in photoshop with no problems.

It is because it is antialiased against a white background. Try saving your PNG in proper 32 bit?