You have been amazingly accommodating and a great friend/community member. But remember that this is NOT something you have to do. My son has a friend whose mom is like that - constantly asking for unreasonable favors she expects everyone else to do because she's a poor, single mom (whose parents and child support pay for her to live in a house nicer than mine although she has no job, I will add!) We watched and gave her son a ride to school for a while, and were happy to, but I also draw the line at other things (like asking me to provide a full day of free babysitting so she could work.) I just keep saying no. Nicely, but basically, no. (like the saying goes, "no is a full sentence.") My policy is, it's never not OK to ask, but know that sometimes I will say no.
The thing is, you can't make up for other people's bad decisions. I am not the one who decided to have a baby without a father in the picture when I was 20, and you are not the one who decided (like your son's friend's mom) to have a baby with a jerk and put up with his nonsense. It's nice to try to help, but think of it this way - every week you babysit after school is a $75 gift (current rate I pay for my sons' after care.) Makes it seem much more like you've already done your part, doesn't it?!
For your question about helping the boy. It seems like you are providing structure and discipline, and eventually he will, if you are firm and patient, respond. But he likely will always teach your kids bad words and in other ways show his home environment. It will be a wonderful gift to him if you decide to invest that sort of effort. I would not do it, because I need my home to be a haven after work - but if you are the kind of person who would, I admire you for it. But you have to do it because you want to give and not be thanked for it, because I can guarantee you that no one will appreciate it.