This is the best explanation I found in the internet.
The terms GEO and GSO often cause confusion, partly because one is a special case of the other. The broader term GSO stands for Geosynchronous Orbit, meaning that it takes one day to complete one orbit. To an observer standing still on the earth’s surface, the GSO satellite will return to exactly the same point in the sky after one day. In between, it can rotate in the same direction, or the opposite direction as the earth. GEO, or Geostationary Equatorial Orbit, is a special case of GSO where the satellite always appears stationary above the same point on earth’s surface. The added benefit is that antennas don’t have to turn to track the satellite’s position.
LEO and MEO stand for Low Earth Orbit and Medium Earth Orbit, respectively. (Not sure why they had to throw “Earth” in there, maybe that will be useful once Elon Musk gets his Mars colony established, but I digress.)
As shown in the table below, the orbits differ mainly in the altitude of the satellite above the earth’s surface
Abbreviation Orbit Name Altitude [km]
LEO Low Earth Orbit 160 to 2000
MEO Medium Earth Orbit 2000 to <35786
GSO Geosynchronous Orbit 35786
GEO Geostationary Equatorial Orbit 35786
Source: https://www.symmetryelectronics.com/blog/leo-vs-meo-vs-geo-satellites-what-s-the-difference-symmetry-blog/