Yes sure legally speaking there can be more parties, but due to the winner-takes all form of voting, there is no practical way for a third party to ever enter politics.
The existence of the republican and democratic party in the US for such an exceedingly long time has created a very ingrained sense of what politics and ideology is in the US.
People naturally have a much wider spectrum of ideologies than those represented by democrats and republicans. Yet there is no way to express that at the voting booth. Hence whatever people vote wouldn't really reflect the ideological divide.
Seen from my Norwegian perspective, if Norway was a city in the US, then Hillary Clinton would likely have gotten 90% of the vote. However that doesn't mean there is a lack of ideological diversity in Norway. There are 9 major parties in Norway and several much smaller ones, representing quite a diversity of opinion. The democratic party would have been quite an outlier politically in Norway, yet Donald Trump and republicans are even more extreme that people would naturally vote Hillary.
That a diverse set of people vote on some common lesser evil doesn't really make them all that similar.