Estaba teniendo un problema similar con la inserción de pyODBC en una base de datos de SQL Server 2008 usando executemany(). Cuando ejecuté un seguimiento del generador de perfiles en el lado de SQL, pyODBC estaba creando una conexión, preparando la declaración de inserción parametrizada y ejecutándola para una fila. Luego, desprepararía la declaración y cerraría la conexión. Luego repitió este proceso para cada fila.
No pude encontrar ninguna solución en pyODBC que no hiciera esto. Terminé cambiando a ceODBC para conectarme a SQL Server y usó las instrucciones parametrizadas correctamente.