Interesting. I have a Geforce 4 TI 4200 and AMD Athlon 64 3200 (1 MB cache version) and I get 40 FPS at the least at 1024*768. Try cranking down some of the detail levels. Try going to options->video->advanced options and set them like this:
model detail: medium
texture detail: medium
water detail: simple reflections
shadow detail: high
anti-aliasing mode: none
filtering mode: trilinear
shader detail: high
wait for vsync: disabled
Also, in the console, try typing mat_dxlevel. It if is set at 90 and up, set it to 80. If it is set at 80, you can set it to 70 and disable shaders and use Direct3D 7.
About FPS and hertz, there is a relationship. Hertz is a measure of frequency. 1 hertz is one instance per second, whil 3000 is 3000 instances per second. Your monitor will always hit 60 Hz, but the problem is that your computer might not render it fast enough, so your FPS will be lower. You should usually limit your FPS to the refresh rate of your monitor, which is usually about 60 or 70 Hz, I always use 60.
As for FPS the eye needs, an image must be flashed on and off 30 times a second for it to appear solid (this is how monitors work) and 15 times a second to appear to be in motion. NTSC TVs (like used in the US and Japan) get a refresh rate of 60 Hz, but they are interlaced to reduce flicker.
More info here ->
http://en.wikipedia.org/wiki/Interlace
Also, I don't think computer monitors use interlacing. They are a lot more perfect than TVs.