Little explanation:
There's a thing temp readers use call polls. That where the reader looks at the sensor and gets the number. Some poll every 256ms, some 500ms, some 1000ms etc. Now apart from polling times is reporting times. If the temp was reported every time it polled, then all you'd see is the digital '88' with it being a constant blur. So software reports every 2-4 seconds for your viewing pleasure.
Imagine a background task at idle. With Intel you'd see the cpu at 32, go up to 42, 52, then drop back to 32. Now apply that same short spike in loads to polling times above. What you'd see with one program is a temp of 42, and the other a temp of 52. Due to polling times of 500ms and 1000ms. And that temp would stay for 3ish seconds. Make you believe in the first that the cpu is at 42, and the second the cpu is at 52. They really aren't.
Both are accurate. They read the sensor accurately. Reality is that it was a half second spike, not a constant temp. And that's the issue. It's not that Hwmonitor or others are inaccurate, it's that what they poll and what gets reported isn't based on what's actually happening, it's a quick grab of temps that happened to catch an inconsequential spike.
Because of the way Ryzens work, that gets further messed up and ppl freak out about high idle temps. Ryzen Master is a little different. It doesn't report the exact temp as read, per read. It takes the last 3-4 polls and averages them, so when it does report, it'd be an average of 32-42-52, which is 42. On one core, not multiple cores, the other cores are shut down at idle. This gives a better overall purview of what's really happening over a period of time, not an instant grab. Because it's an averaged temp, it's not accurate as such, but it is a more accurate representation of what's really happening.
If you ask someone the time, chances are they'll say it's 5 o'clock. Doesn't matter that the exact time might be 4:57 or 5:03, it's 5 o'clock. They most definitely won't say 4:57 and 43 seconds, and if they did, by the time they finish, they are wrong anyways as that took 2 seconds to announce. So just saying 5 o'clock puts you right in the right time frame.