The program automatically entered the GPS data once I dropped the photo on the map. As for what I've tested it with so far:
Irfanview -> Information -> EXIF Info -> Google Earth (Correct Position)
Irfanview -> Information -> EXIF Info -> Show in GeoHack-wiki -> Google Maps (Wrong Position)
Synology Photo Station 5 -> Tag -> Geotag (Wrong Position)
51° 6′ 0″ N, 4° 13′ 0″ W
Photo Station Information
Personally it seems various programs etc are slightly adjusting the geotag slightly.
One hypothesis: the Google Maps API seems to have two different ways of showing a coordinate location: the precise location and the nearest named entity (street, town, etc.). Perhaps some of these programs are showing the location of the nearest named entity, rather than the precise coordinates. See this thread for an example:
I guess it could be but having said that when going via GeoHack->Google Maps it places the Green arrow in the wrong place with another point highlighted by Red A Balloon on the closest road. Going via Photo Station just results in a Red Balloon being dumped where GeoHacks puts the Green arrow.
To sound out your idea about nearest named entity here is another example, I took 6 photos from the same position in Richmond park yesterday and LR4 shows this as 51°26'6" N 0°16'59" W and if you enter this in Googlemaps you'll get the green arrow appearing in the right position.
Exiftool Info - Lat 51.435075°, Lon: 0.283162°
Inrfanview -> GeoHack -> Google Maps = Wrong Position http://maps.google.com/maps?ll=51.433333,-0.266667&spn=0.01,0.01&t=m&q=51.433333,-0.266667
Inrfanview -> Google Earth = Correct position (Lat:51.435001,Lon:-0.283167)
Photo Station 5 -> Geotag -> Google Maps = Wrong Position (51.43, -0.27) - Matches Geohack's position.
In the case of the wrong position if we work off the nearest entity then there are about 7/8 closer than Broomfield Hill Wood where the position ends up. I think you are right in the API idea since I would suspect at the very least the one in Synology's NAS Photo Station Package might be a little bit behind the latest.