It could be the starting mash temperature. Alpha amylase (which is responsible for getting good attenuation) gets denatured pretty quickly at that sort of temperature.
It could be your water. If it is low in calcium, I have heard that alpha amylase does not perform very well.
It could be your mash thickness. Alpha amylase gets denatured more quickly in a thinner mash.
For the cases when you used liquid yeast, it could be that you didn't make a starter.
My guess is that it is a combination of these things.
I'd start by reducing your starting mash temperature. If you do this, you will need to insulate your pot, or maintain the temperature by adding infusions or direct heat. Insulation gives you the least chance of error, but is the most expensive.
If your water is low in calcium (like less than 50ppm), then that is easily treatable by adding some Calcium Chloride and/or Gypsum to make up the defficiency. You want between 50 and 150 ppm for brewing. If you have a municipal supplier, they should be able to give you the Calcium concentration. If you have well water, you can get an analysis for Ward Labs. You need test W6. Alternatively, you could make a brew using RO water (which is essentially devoid of all minerals) and adding brewing salts to adjust the Ca concentration. See http://www.ezwatercalculator.com/
for an excellent calculator that will give you the ppm values for all of the important ions, and see http://www.howtobrew.com/section3/chapter15-4.html
for grams to teaspoon convertions.
I'd ignore the mash thickness factor. I mentioned it because a reputable source had said it was a factor, but you are not using a very thin mash, and I think that most members of this forum use a mash thickness similar to yours without any problems.
Making a yeast starter for liquid yeasts however is very important. On the few occasions that I didn't to this, I got lousy attenuation, and it took a long time to achieve the poor results.
I have relatively soft water with low levels of calcium, and I also use liquid yeast (usually WLP002) and make a starter.
I treat my water with CaCl2 and/or CaSO4 to make up the calcium deficit. I usually mash at 150F for 90 minutes in a cooler, and usually achieve much higher attenuation
figures than Wyeast or White Labs state in their descriptions.