And CPU temps do run very high like that. You can't expect low temps like a desktop.
As these age such does happen and the repair is as you noted plus new fans and deep cleaning. If that doesn't fix it, a new motherboard, CPU, etc.
Be sure there is no HDDs in the machine as ... you don't want that heat as well.
Finally do not rely on Windows for drivers. Get them from Lenovo and for the GPU, Nvidia's GeForce Experience. Be sure to disable Windows driver updates (I use google for that step.)
About a year and a half ago I bought a Lenovo Legion Y520. It has a Intel Core i7 7700 k, 8 GB of ram, and an Nvidia GeForce GTX 1060 with Max Q (only 3 GB of vram). It was working great without any problems until about a month ago when I noticed the performance was starting to drop. I downloaded a computer monitor and discovered that my CPU was reaching temperatures of 93-97 Celcius regularly while gaming. And it would idle as high as 65 Celcius. It would overheat even when i used extreme cooling. At first I thought that maybe it needed new thermal compound so I (carefully) cleaned off the old stuff and replaced it with high quality paste. It brought down the temperatures by 2 or 3 degrees but my CPU was still running way too hot. So I tried undervolting it a little bit hoping that it would prevent thermal throttling. I undervolted by 50.8 mV. It worked for a little while but then the CPU would just overheat again so I undid the undervolt. I even cleaned out the inside of the cooling system. I feel like I've tried everything and I would appreciate some ideas as to what I can do to restore the CPU to normal temperatures.

Chowhound
Comic Vine
GameFAQs
GameSpot
Giant Bomb
TechRepublic