Как уже верно сказали, во втором to не нужно. В остальном не со всеми высказавшимися соглашусь. Разница тонка и в разговоре с англичанином тебя никто не упрекнёт, но если мой опыт мне не лжёт, мне кажется, что have to обычно употребляется в случае некоторой договорённости между людьми, а must — неких естественных причин.
Например "It must be rainy tommorow" (завтра должно быть дождливо) звучит вроде куда естественнее, чем "It have to be rainy tomorrow". А вот "I have to clean my room before the parents come", тут скорее будет have to. Возможна даже ситуация, где эти глаголы могут реально различить смыслы:
You have to be right! You're a king! — Ты должен быть прав! Ты король! (Быть правым — твоя обязанность, у тебя нет права на ошибку). You must be right. I suppose, you are. — Ты, должно быть, прав! Я полагаю, так и есть. (Тут ты должен быть прав не потому что это твоя обязанность, а потому что говоришь правду).
Или I have to eat this shit, Harry. — Я должен съесть это дерьмо, Гарри. *Дамблдоржрётговно.джпег* Any human must eat to stay alive. — Любому человеку надо есть, чтобы оставаться в живых.
Более мягкий вариант have to — ought to, ещё мягче — should. Всё это выражает некоторые договорённости и установки, в то время как must больше для естественных правил природы или констатации факта.