You need to stop being so hard on yourself. What happens to other people, is out of your control, and there's no point in saying you failed them, because you didn't. They failed themselves, for not being more understanding, and not growing up. They hate the way they are taught, and yet they don't see the reasons why they are treated to like that; it's simply to prepare them for what's going to be their responsibility in a couple of years. Honestly, if they're too weak to handle that, then it's their faults, not yours.
Stop blaming yourself for the most stupidest of things. Stop spoiling them, and stop walking them like a weak old lady. Be tough with them, and stop letting your want to flirt with them to be the reason why you don't want to be tough on them. You're their teacher, so that's your first priority.