Widzisz ten błąd, ponieważ przekazujesz None do funkcji putconn(). Źródło można zobaczyć pod adresem:https://github.com/psycopg/psycopg2/blob/master/lib/pool.py
Powinieneś dostosować swój ostatni blok tak, aby był:
finally:
cursor.close()
self.conn.putconn(conn)
Napotkałem błąd po wymuszeniu odświeżenia puli połączeń i miałem linię, która próbowała wywołać putconn(conn) na połączeniu ze starej puli.