「a lot of」は可算名詞・不可算名詞の前で、「many」は可算名詞の前でのみ用いることができます。
▼
「a lot of」は可算名詞・不可算名詞の両方を修飾することができます。
I saw a lot of cars.(たくさんの車を見た)< 可算名詞>
I need a lot of time.(たくさんの時間が必要だ)< 不可算名詞>
「a lot of」は口語表現であるため、フォーマルな場や文章では「many」「much」を使うことが多いといえます。
▼
「many」は可算名詞のみを修飾することができます。
I saw many cars.(たくさんの車を見た)< 可算名詞>
注意が必要なのは、集合名詞の中にも可算名詞・不可算名詞の区別があることです。「people」のように集合名詞の可算名詞を修飾する場合は「many」を用いることができますが、「furniture」のように集合名詞の不可算名詞を修飾する場合は「much」か「a lot of」を用いることになります。