What is the difference between 汉语 and 普通话?
“汉语” is a general scope of Chinese language, it is spoken in several countries including China. “普通话” is the modern name of “现代标准汉语”(Standard Chinese), it can be considered as the “official dialect” of “汉语”.

As you can see, the difference is the scope. Most Chinese speak “汉语”, but not all of them speak “普通话”.