_「なぜhave to buyで買わなければならないという意味にならないんですか?」→解説に書いてある通りです。買わなければならないという意味だとすると、people have to buy souvenirs となって、文として完成してしまうので、関係代名詞 which の先行詞に掛からなくなるからです。
_これは、書いた文字だから難しいのです。話し言葉なら、have と to との間に小さな息継ぎが入り、have の発音が濁るので、直ぐに分かる筈です。
_「なんでwhichとthatが続いてるんですか?」→単に分かり易くする(と著者が思った)為に、指示代名詞の that を付け足しただけです。一般的な、抽象的な、人々てはなく、旅行者の立ち寄りどころにいるあの人々、と言う具体的な特定の人々を指している、と言う意味で付け足している、と、推測します。
このwhichは元々省略されててわかりやすいように補ってるだけでもしこれがなかったらどうすればいいですか?
_「このwhichは元々省略されててわかりやすいように補ってるだけでもしこれがなかったら」→意味が分かりません。「元々」「省略」「わかりやすい」「もし」が何を指しているのか、分かりません。添付画像の文なのか、関係代名詞が省略されていると仮定した場合の話なのか。わかりやすいのなら、迷わないのではないか?
_仮に、目的格の関係代名詞が省略されている場合でも、同じ話しです。
_「people have to buy souvenirs」 となって、文として完成してしまうけれども、意味として繋がらないので、目的格の関係代名詞が省略されているのだ、と気付くきます。
_話し言葉なら、小さな息継ぎ、have の発音が濁るから気付くことも同じです。
_which that では正しくありませんね。
_「whichとthatが続いてる」が続いている、と言う質問文に引っ張られてしまいました。
_確かに、解説文では、「which / that」となっており、これは、続いている訳ではなく、which(関係代名詞)、又は、that(関係代名詞)、と言う意味で使っていますね。
_すいません。