I think you have to say something. Once. If it doesn't go well or he isn't receptive, then you know its his decision and that you at least talked to him. I would approach it with a "Son, the ball is in your court and you are grown but you are still our son and we want to help and support you" sort of mentality. Tell him you understand its hard and that you love him no matter what his size etc. But let him know that you are there for him with anything he needs. If he needs support etc, you are there and wanting to help but also acknowledging that he is grown and you aren't interefering per se. Also, if money is an issue, and you can help with that, tell him you are happy to help with a gym membership, or whatever else he needs. Being healthy isn't cheap. It costs more to eat healthy, and gyms, things like Weight Watchers etc., all add up. I know when I was about the age of your son, I asked my mom if she would help me out with Weight Watchers and she was more than happy to so that was nice.
Its hard to know when to be supportive and when to just back away. But I do think if you make that effort once to really sit down and tell him you are saying these things out of love and concern for his health, then you know you tried. It may do nothing on the surface, but he will know that you care. And I do think that even as adults, we all find that the things our parents tell us, are generally the most spot on, and we take it to heart more than when anyone else tells us things. Even if he appears to not want to talk or doesn't take to heart what you say, he heard it and will likely think it over carefully
Best of luck to you. I agree you are in a rock and a hard place and thats never a fun place to be. Kudos to you for being such a loving ad caring mom!