They are reading different sensors.
Realtemp and Coretemp read both tjmax and distance to tjmax directly from MSR on cpu, and will give accurate core temperature since calibrated at intel (though may be less accurate at low end since calibrated at high temps), and core sensors are located in hot spots.
The CPU temperature/sensor is not core temperature/sensor. CPU sensor is located between cores, away from hot spots, and is more of a general cpu temperature. It may be accurate, or not, as there should always be a significant gradient (especially on these) from core hot spot (core sensors) to between cores sensors (cpu). However cpu sensor is NOT calibrated by intel, it is calibrated by your bios, and is subject to all sorts of error. CPU temps should always be significantly below hot spot (core temp) sensors.