My opinions are perhaps coloured by my experience of the Steam client on Linux. I'm not exactly a newcomer to Linux (my first install used a 0.9 something kernel, and I compile kernels and userland programs on a very regular basis) but I couldn't get it to download a game at a first attempt. So what chance is the average Joe going to have.
However much you might hate Windows, the experience of installing programs - particularly games - is a pretty seamless one. Until Linux reaches that level of user-friendliness I can't see it making it as a gaming platform. I think the fractured nature of Linux - the number of different distributions each with their own different level of things like the standard C library - is a big problem here. OS X is a much more coherent platform than Linux and enjoys a level of support and restricted hardware choice that should make it a dream for programmers. Yet look at the state of games on OS X; it sucks compared to Windows.
The only serious attempt that I see so far to produce a coherent games platform using Linux is the Steam Game Box, which turns out to be a high-end PC that is probably going to be even more expensive than the average Mac - and that's saying something. Why would people go for that rather than an XBox One or a PS4 where for a much lesser outlay you can have access to a huge selection of games, plus all the media centre aspects they offer? I'm not convinced that whether the platform is open or not matters much to the average man or woman in the street.
So, in answer to the OP "Can I run Steam and all their games on Linux or do I need Windows?" the answer is, very definitely, "You need Windows".