そう決まっている表現だからです
と言ったらそれで終わってしまいますが…
受動態は能動態と対応しています
・その山は雲で覆われている
⇅
・雲がその山を覆っている
・その部屋は多くの人で満ちている(満たされている)
⇅
・多くの人がその部屋を満たしている
ただしbyという前置詞は、
受動態とセットで使うときは「動作主」を表すんです。
動作をした主語 ということです。
なので、そもそも「誰か/何か が、何か動作をする」ということを言っているわけではない表現には、馴染まないのです。
山が雲で覆われている というとき、
雲が手を伸ばして山を覆っている動作をしているわけではないですよね。雲が、山を隠すような位置にある、ということの比喩とか擬人法みたいなものです。
その部屋が多くの人で満ちている は
動作が人だからわかりにくいですが、
この文は、
誰かがその部屋を人でいっぱいにした、とか、満員にするぞという意志を持って集まった人たちで部屋がいっぱいになったいうことではないですよね。
結果としてたくさん人がその部屋にいた ということを述べているだけです。
だから動作主を表すbyは馴染まないのです。
こうやっていうと
be coverd with〜 〜で覆われている
be filled with〜 〜で満たされている
って覚えとけばいいんですねってことになるんですが、
be coverdとかbe filledは場合によってはwithを使う
ということは頭に入れた方がいいですね。
inとかonとかでもなく、withを使う。
訳なんかは普通の受動態と同じようなもんなのでわざわざ覚える必要はありません。
同じようにbe interested はinだし、be surprisedはatだったりします。
ただし、いずれの表現も
誰かによって覆われた
誰かによって満タンにされた
ってときはby〜使うわけなので、それはそれで理解しておきましょう。
あと、ここまでの説明は「日本語訳の問題ではない」ということも重要です。例えば
その山は雲によって覆われています
その部屋は多くの人によって満ちていました
「〜によって」だからbyでしょ?と考えると間違えてしまいます。
「〜によって」っていうのはbyの訳としてよく覚えるけど、ここで言われている状況をちゃんと考えると、先ほどの説明のとおりbyの動作主を表す用法はおかしいので、他の前置詞を使うことになります。