ネイティブスピーカーがこの2つを頭の中で選ぶ際、最も強く働いているのが「主観」か「客観」かという視点のフィルターです。同じ「〜しなければならない」という日本語訳であっても、その動機が自分の心の内側から湧き出ているのか、それとも自分の外側にあるルールや状況によって決められているのかによって、言葉が明確に分岐します。
まず「must」は、話し手の強い個人的な確信や意志を表す主観的な表現です。「誰に言われたわけでもないが、自分自身がどうしてもそうすべきだと信じている」場面で使われます。例えば「I must apologize to him.(彼に謝らなければならない)」と言った場合、社内規定や誰かの指示ではなく、話し手自身の良心や強い決意からその行動を選び取ろうとしています。
対照的に「have to」は、法律、社則、電車の時刻表、医者の診断といった客観的な外部要因によって行動を迫られている状況を表します。「自分の気持ちはどうあれ、環境やルール上そうせざるを得ない」という感覚が根底にあります。「I have to wear a suit at work.(職場でスーツを着なければならない)」という文では、本人のファッションのこだわりではなく、オフィスのドレスコードという外的な制約に従っている事実が強調されます。