After an insane amount of googling, I never did find the reason for this. My iPac started refusing to let me re-program it (linux and windows utils wouldn't recognise it anymore, though it still worked as a keyboard) so I bought a new one wondering if the interface was the cause.
It wasn't, brand new one, same issue so I still suspect it is something related to the window manager, OS, or an accessibility feature running.
I got around it by reprogramming buttons 1 and 2 to be unused keys rather than L CTRL and L ALT. Just thought I'd post in case anyone else came across the same issue.