My teachers learnt me that in a case it's an external obligation make by someone or something and in the other it's a moral obligation.
But some stuff they made me learn were wrong, so maybe that's the case here and there is no difference.
If a native english speaker can answer, i will be really please.
"Must" usually gives off more of a feeling of urgency.
"I must get to the bus stop by 3:00 everyday."
"Have to" has somewhat of a looser connotation.
"I have to do a lot of work today."
You could get away with using them interchangeably, but I'd say that "must" sounds more urgent to me.
That's good advice from mjd. However, it's also worth noting how to manipulate these expressions. For example "I don't have to do it." and "I mustn't do it." mean different things.
You go to a restaurant and the bill is $50. You are obliged to pay the bill but whether you leave a tip or not is your choice. You have to pay the bill but you don't have to tip. You must not leave less than $50 but you don't have to leave more than $50.
Also you can change the tense of "have to" whereas "must" is only used in the simple present. For example:
present continuous: "I'm having to wake up during the night to feed the baby." = something you have to do but not permanently
simple past: "When I was in primary school I had to wear a brown shirt."
future with "will": "I will have to get my teeth fixed."
counter factual: "I wish brewsters had to include all the ingredients of their beer on the lable."
I don't mean to be picky but this might also help. You wrote "My teachers learnt me ..." it should be "My teachers taught me ...". You could also have written "I learnt ...". You learnt and your teachers taught.
Also you wrote "... some stuff they made me learn were wrong," it should have been "... some stuff they made me learn was wrong," The word "stuff" is non-countable.
This is a beautiful place to learn English. Now I am clear about how to use "have to" and "Must".