If the mechanic didn't do a leakdown test, he's just trying to blow smoke up your butt. But the only way to fix those is to remove the head and have the valves replaced (if they're burnt/damaged) and everything reseated. Lots of work, and thus money, so make damn sure it's necessary... a leakdown test is the best way.
The carbs running rich is Super common, you need to replace all the rubber bits in the float bowls of the carbs (2 o-rings and 1 rubber plug per carb, and possibly the float needle/seat too). when that stuff is rotten/not sealing, you get a REALLY rich running bike, to the point where it probably won't start/run.