Firstly, this is not a EUMETSAT image. Your image shows Australia, and geostationary EUMETSAT satellites are located above (approximately) (0°N, 0°E) and (0°N, 41.5°E) for the Zero Degree Service (ZDS) and the Indian Ocean Data Coverage (IODC) service, respectively. Neither viewpoint can see Australia. Your satellite image is probably coming from the Multifunctional Transport Satellites (MTSAT) imager that was operated by the Japanese Meteorological Agency (JMA) until replaced by HIMAWARI in 2015.
To get the geolocation of pixels in images from either Meteosat SEVIRI, MTSAT, HIMAWARI AHI, or any other earth observation imager, you could also consider reading the data using the satpy library:
from satpy import Scene
from glob import glob
filenames = glob('/path/to/your/files/*') # for SEVIRI, can be HRIT, Native, or NetCDF
sc = Scene(filenames=filenames)
sc.load(["IR_108"], upper_right_corner="NE")
print(sc["IR_108"].attrs["area"].get_lonlat_from_array_coordinates(1000, 2000))
which gives:
(-24.259016114751823, -3.9842388279769465)
For geostationary images, this is not the fastest method, because the answer is constant, so you shouldn't need to actually read the data. However, using a well-tested and widely used library reduces the risk on error on your side. At least, it could serve as a reference. Remember that for many satellite imagers, different channels have different spatial resolutions, so the answer may be channel-dependent. The level-1 data may also be stored with the south coming before the north, such that a naïve reading and displaying shows the south at the upper part of an image and the north at the lower part, contrary to mapping conventions. Therefore, it's worth verifying that your result is accurate.