I posted this on another body odour post. There is a condition called bromhidrosis, which is fairly common. It never happens before puberty, which might explain why this has only been happening in recent years for you. It has something to do with normal bacteria in sweat reacting abnormally with the normal bacteria on your skin. If you look up this condition, you should be able to find information about treatments and natural remedies to help with this. Rest assured, from the information I have read, it's not your fault. It's not caused by lack of personal hygeine. Most people with this condition would probably be more meticulous about thier personal hygeine than most, because they are accutely aware and embarrassed about how they smell.
I hope you can find some useful information in your search, good luck.