As the developer of the first and third driver that you mention, I can only comment on those; I'm unsure of the status of the second.
Both drivers are up-to-date and actively under development (py2neo v3 is due to be released very shortly). The pair of drivers are intended not to compete but to complement each other, indeed py2neo actually embeds the official Neo driver for Bolt compatibility as there was little value in writing that twice!
Both drivers also support Python 2.7, 3.3, 3.4 and 3.5 so no compatibility issues there.
Now for the differences. The official driver only supports Bolt and consequently Neo4j 3.0 and upwards. It is intended as a lightweight driver and does not come with all the bells and whistles of py2neo. It is however fully supported by Neo Technology (more people than just me), whereas py2neo is supported by me in my spare time. Py2neo comes with a load of extra API that you might find useful but if you only need to run Cypher, the official driver will be sufficient.
So make your choice based on:
- Do you need support? If so, to what level?
- Are you running Cypher only or do you need a broader set of API?