If it is actually stainless steel and not painted glass or painted metal, you can polish it up again with Barkeepers Friend and a scratchless scrubby. It makes stainless steel look like new again. I've used it on my stainless clad cooking ware that I bought in 1969 and it still looks like new.
Clean with white vinegar and spray paint. You can use some of the shinier, reflective paints in the Rustoleum line.
Here's a tutorial on cleaning gazing balls: https://www.youtube.com/watch?v=HrhK5FirD6c
Clean well and then spray them with a lacquer clear coat.
You can spray them with high gloss clear spary paint. High gloss polyurethane. High gloss clear glaze.
Because the gazing ball is a sphere, it is best to paint it in two halves. Allow one side to dry before starting on the other side. Make sure the paint is completely dry before attaching the glass ...
I suppose it depends on what it's made out of...in general though, I would try cleaning it first, with vinegar and water and then if it's still not where you want it to be, you could consider spraying it with a clear coat, but it may yellow in the sun.
Whatever clear coat you use, it needs to stick to a very clean surface & be rated for exterior UV exposure.
Try to use a solution of vinegar and water
I have used Magic Eraser on several outdoor items and brought back the newness.It has removed buildup from trees and general outdoor elements.
If they are glass, you might try glass stove top cleaner, it will take any kind of haze off of glass. I am sure an opaque spray paint made for glass would look nice as well!