iMacs are not really designed for upgrades, I don't know of any that would be cost effective. The restriction for OS's is due to the EFI firmware, it only supports 32bit on older models. To replace that on an iMac you would need to fit a new logic board - non trivial & I doubt newer boards would fit.
There is a workaround that can allow OS X to run later OS's on older hardware - SFOTT (Sixty four on thirty two)…
http://oemden.com/sixty-four-on-thirty-two-sfott/privatetest/
Note the comment from Dave on that page…
Hi, I managed to get Mavericks installed on a late 2006 iMac, thanks a lot! However the graphics don’t run so smooth, even just opening safari is a struggle. is there anything I can do to fix it?
It may run very badly so test on an external disk or have many good backups. There comes a point when older hardware should stay on older OS's, sorry.