Don’t usually post in here, but a few thoughts:
You are genuinely pretty, but you’re not making the most of it. You work hard everyday in the gym to make the most of your body’s ability to improve. I’d suggest you spend a few minutes each day putting on basic makeup and an attractive outfit to showcase your hard earned looks. That alone, over time, would probably surprise you with how much more attention it gets you. No drastic changes, but if you look like you are not making an effort, or don’t desire attention, why would a man come and give you his attention or make an effort?
Availability IS desirability. You don’t have to be over the top and wear low cut clothing and tiny skirts with fishnets if that’s not your thing, but you do need to let men know that there might be something to be had from coming and saying hello to you.
As a single guy, based on that photo, the reason I wouldn’t approach you is that you look like a happily married mum doing the school run. No make up in public usually is a sign that a girl is happy and confident in her relationship, so why would a guy waste time and set himself up for a fall by saying hello?
What I don’t think you appreciate is how easy this whole process of getting guys can be for you. You come across as a sweetheart, and you’re good looking. Even guys who can get plenty of very attractive girls would be flattered if you came up to them and said hello. It really is that easy for a pretty girl. I know it’s not how the social dynamic is supposed to work, but why not go after what you want?
You already know that you’re cute enough that every single (as in not in a relationship) guy would happily have casual sex with you. That is a position of considerable power, and should be a source of confidence. You can start every interaction with a dude from the fundamental basis that he already wants you. Whether he gets it or not is obviously up to you.
What you do have to do is demonstrate through your personality that you are worth keeping around. This is the hardest part for most women. The funniest thing about your situation is that in many ways this shouldn’t be a problem for you. You do actually seem funny and interesting. Most girls (like most men) are lame, and quite boring if you spend a prolonged period of time around them.
I don’t know nearly enough about you to know if you have grown up interests, but other than makeup and cute clothes, I would recommend an adult hobby. Not ‘to meet men’ or anything like that, but for your own personal development and enjoyment. It will give you massive confidence in yourself to have things you are passionate about.
On a related note, and nighthawkz mentioned it above, but all the things you have mentioned here about yourself are character traits, which are definitely wonderful. But a guy can’t ask you about those on a date, or talking to you in the shops. Have something outside training that you are genuinely enthusiastic about, because it will let a guy ask you questions, which you will feel confident answering, and will make you feel comfortable revealing information about something important to you.
That will build trust and a certain bond right from the start, and create desire. A guy isn’t finding out about your love for mud wrestling, he is getting to share your passion and enthusiasm for something, and that is attractive.