Você pode tentar configurar o
max_allowed_packet
parâmetro apenas para uma sessão
:sql ='SET SESSION max_allowed_packet=500M'
cursor.execute(sql)
sql = ...
args = ...
cursor.executemany(sql, args)
Se isso funcionar, você pode deixar o código como está ou alterar seu arquivo my.cnf (sabendo que isso resolve o problema executemany).