1. There is a difference between valid criticism and insulting someone; the former necessarily involves being honest about something negative, but does not necessarily constitute an insult. You do the former on a regular basis, and if someone were to report you for it, we would say the same thing to them that I'm saying to you right now. If I said I was going to become an astrophysicist in 10 years time, you would be perfectly right in pointing out that I'm not good at math, or that I seem to have a new career interest every two weeks so this isn't likely to last. It might not be very nice, but the rule is not that you need to be nice, it's that you can't insult someone. In the context of the discussion, those wouldn't be insults, they're just things that you perceive to be true impediments to my goal.
2. You can point out that somebody is violating a rule without comment on their character ("But suggesting that I'm disagreeing with you because of unwillingness to learn or because of attitude is ad-Hominem, and it isn't okay for a user, much less a moderator"). You chose not to. You know that if you have a problem with a mod's behavior, you can report them or talk to another mod about it. While you are free to publicly state it, that same freedom extends to people who take issue with your behavior.