Although I haven't specifically tried to do this myself I do work with Sunbrella and other marine
canvas everyday and I would strongly urge against trying to dye your covers a different color.
You might be able to get the canvas to absorb enough green dye although I doubt it would be more than a shadow of green over the existing grey color but acrylic
yarns do not just suck up moisture very easily or at all. Most likely you will have a splotchy green-grey that will then become a disaster in the first rain even if you try to launder it a few times first. Then you end up with a deck
covered in green dye, and the fiberglass
will suck that stuff up surprisingly well!
If these covers are, as you said, in good shape I would imagine that the "flat grey" is much preferred to the end result of trying to dye them. If the covers are aging a bit then maybe get a quote for new covers and if you're comfortable with the replacement cost then try the dye and let it sit somewhere to test it while you spray it with a hose or let the rain get to it a time or two.
Just my opinion.