I absolutely agree with you OP that fresh fruit and veg are expensive, and also do not last a week.
It is still easy to have a healthy diet IF YOU KNOW HOW, e.g. frozen peas/sweetcorn/carrots, tinned tomatoes, etc, but I still don't think they are teaching the basics of producing cheap, healthy meals in school.
When I was at at secondary school in the 90s, home economics was very "design" focussed, e.g. "Design a healthy snack for a teenager, to be sold in the school canteen, design and produce packaging, etc, and I don't think much has changed. What kids need is to learn how to produce nutritionally balanced meals, with relatively cheap ingredients. They need to do this over and over again, so that it comes naturally.
I learnt this from my parents, so it is easy to see why some people never get this.
I do agree that subsidising some fruit and veg would be a good thing. I wouldn't want any form of subsidy that made people more likely to buy cheap meat with poor animal welfare. It seems there is increasing evidence that eating less meat is healthier anyway.
Our family is neither badly off nor vegetarian, and we only eat meat about twice a week for our evening meal. The rest is fish (often not expensive, e.g. pollack fish fingers), different kids of beans, cheese or eggs as the protein source. Again though, I think children should be taught about different ways to add protein healthily.