Jag tror att det verkligen beror på implementeringen, men du kan få en uppfattning om skillnaderna genom att titta på MySQLdb-källor. Beroende på alternativen, behåller mysqldb fetch* den aktuella uppsättningen rader i minnet eller serversidan, så fetchmany vs fetchone har viss flexibilitet här för att veta vad som ska behållas i (pythons) minne och vad som ska behållas db-serversidan.
PEP 249 ger inte mycket detaljer, så jag antar att detta är för att optimera saker beroende på databasen medan exakt semantik är implementeringsdefinierad.