Lean codes
Lean codes can be the result of intake leaks, low fuel pressure, faulty MAF sensor, faulty TPS, faulty injectors or bad O2 sensors.
The SOHC gaskets between the head and the intake manifold dry and shrink with age. The gaskets are inexpensive but their replacement is labor intensive. I believe in testing components before replacement.
Since you've replaced the MAF sensor twice its probably good but you can be sure by performing the
MAF Sensor Test Procedure
The PCM relies on the TPS for detecting rapid change in throttle plate opening. It is easily checked by performing the
TPS Test Procedure
You can test the fuel pressure by performing the
Fuel pressure test procedure
Your lean codes indicate lean conditions on both banks. It is unlikely that your fuel injectors would fail on both banks at the same time unless clogged by fuel deposits. See
Why change fuel filter?
You can check the O2 sensors by monitoring their voltage output with a scanner but its unlikely that both banks would go bad at the same time.
If you have performed the above and still have lean conditions reported for both banks then you probably have an intake leak. Unmetered air (not measured by MAF sensor) is entering the cylinders and diluting the fuel mixture. The leak could be in the vacuum hoses or manifold/IAC valve gaskets. Check all your vacuum hoses for cracks or loose connections. Check the main intake tube from MAF sensor to intake manifold for loose connections/leaks. Some members spray starter fluid, propane or some other aerosol near connections on a cold engine and listen for engine speed flares to detect leaks. Its hard to use this method for the head to manifold leaks because of difficult access.
If by the process of elimination you're left with intake manifold gasket leaks as the cause of your lean condition then see
Starting my 00M12 Installation. Just ignore the parts about the timing chain tensioner and restrictor.