So PATS fuel pump, and battery voltage do not seem to be suspect because A) The buzzing is probably the fuel pump, B) The PATS light seem to be normal, and C) No evidence of clicking while while cranking.
Like Dan mentioned, because the lights don't dim a little when cranking, the starter is probably not being activated.
The starter may not activate for several reasons...
A bad solenoid (most likely at this point)
PATS Anti-theft (fairly ruled out)
Low battery voltage (no evidence of clicking would make this unlikely)
Aftermarket alarm system with a faulty Starter kill relay/wiring.
bad ignition switch.
Yes the check engine light has always come on when the gas is low, it goes off when I fill up the tank.
I bought a new gas cap a few months ago but it didnt fix the problem.
This seems odd... Is this the "Low Fuel" light or is it actually a "Check Engine" light? You may have low fuel pressure. Still that would produce different symptoms that you have stated.
Sometimes, when you run the tank very low in a highmilage car, the pump may pick up some sediment from the bottom of the tank and clog the fuel filter, or break the pump. This would cause a low fuel pressure situation, which again, we don't have evidence to support.
I'd check the two things above in bold because we have not yet ruled them out.
Does the car have an aftermarket alarm installed (Viper, Clifford, Audiovox, Karr, etc)?
If it does, it may be the starter kill relay. We can test that and the ignition switch at the same time. If we find trouble, we can continue to narrow down which one it may be.
You need to get a multimeter, or test light, if you don't already have one.
Locate the starter solenoid under the air cleaner/MAF/Accordian tube assembly.
It will have a large wire bolted to it (4-6 gague), and a smaller wire, maybe 12 gague or so.
ground one side of your multimeter or test light, and probe the smaller wire connection while someone tries to crank the car, (you can pull the fuel pump and coil fuses to prevent it from starting). If you have good voltage here, then I would bet the solenoid has failed. If you do not have 12+ VDC there, then you may have a bad Ignition switch, or a starter kill relay problem with the aftermarket alarm.
(Just to note, I recently had this same problem, and I found that the smaller wire connecting to the solenoid had a broken connector, inside the heatshrink where it connect to the solenoid.)
If you trace that small wire back a couple of feet, to the power distribution/fusebox by the battery, there is a connector where you can disconnect the wire and test to verify if the wire is good. If you have 12+ VDC at this point, but not at the solenoid, you probably have a broken connector. Easy to fix.
As Gorman pointed out. Make sure you have a good, clean, and tight battery connection before testing electrical.
Let us know how you make out.