I use CoreTemp99 and CPUID Hardware monitor - they show the same temps (but CoreTemp99 sits in the tray with a constant display). You really need to improve your airflow: either better cable management to allow better airflow with your existing fans, or add another fan.
I know I need to work on the airflow inside my system. Ambient temperature around 25C isn't helping either.
I'm just curious as to which temperature reading I should believe. Core Temp/CPUID Hardware Monitor vs. Speedfan. Also, I've noticed one core always run hotter than the other. Normally 5-10C idle but up to 15-20C difference under load. What could be causing that?