Hello and thank you for choosing Just Answer.
Let's address the first issue, the fuel light. There is a fuel sending unit that is located in the fuel tank. It sends fuel level reading to the fuel gauge, if the fuel sending unit is bad or is malfunctioning you will get bad fuel readings and fuel lights even tough the tank is full. In order to solve this problem you will need to have the fuel sending unit replaced.
Now to the second issue, fuel consumption. The advertised estimated MPG is 25mpg/ 32mpg, now this is advertised. They get 32mpg on a perfect straight highway without traffic on it. This is going to be nowhere near possible to reach. They however are allowed to advertise this, since they can prove (again on a perfect stretch, no up or down hill) the MPG. Realistically speaking your car should get just a notch above what it is getting. Keep in mind , the more mileage is put on your car the less MPG you will see. The spark plugs , oxygen sensor, air flow sensors all start to get readings that are not exact. Your oxygen sensor start to build up deposits and the car Air/Fuel mixture suffers. This will cause lower MPG.
Do a tune up, run some good fuel cleaner through the system (seafoam) and your MPG should improve.
No a loose fuel cap will cause the check engine light to come on. The Evap system registers a leak in the system due to pressure escaping from the gas cap. This usually triggers a check engine light and a code P04##. The light that you are getting however is a different light. You are having the low fuel level light, which is controlled by the input of the fuel level sensor.
I can't quite say if this is related to the bad fuel consumption or not. If there is dirt in the fuel tank or pool electrical connection at the level sensor it may trigger the light to come on. It won't always cause the gauge to act up, just the light. What you have to know is that the only thing that can trigger that light is the level sensor or a bad connection in the cluster itself.