so Have basically has two forms as you point out, one being "to be in possession of" as in "I have a book" and the other is as a stand in for must "I have to go" is equivalent to "I must go".
The word have did not take on the additional meaning of "must" until middle english, in the 1500s. Prior to that the form would have been basically "I had better", specifically in old english "I had better go" would be "Ic wære betere betide"
Interestingly had-have-must all three words seem to have a lot of overlap as time goes on. they are all rooted in germanic and spanish is also rooted in germanic so likely both languages share all three words as a root in the germanic language.
@sunny_qad Yea I know far less about spanish but its geographically close to england and the languages have very close germanic roots. It is likely the two influenced eachother.
@freemo Interesting! I don't yet know whether Spanish has anything like that, where the past tense of "tener" is used in a similar construction. I'll keep an eye out to see if there's a parallel there as well.