Why do people think that all British people are posh?

Possibly because the most famous British people are the royal family, all of whom speak with very posh accents. The same is true of politicians such as Tony Blair and David Cameron. Also, films and TV tend to focus on London and the south of England, again where accents are seen as more upper-class than in the north of England, Wales, Scotland or Northern Ireland.