Don't really agree, I often use the same languages at home as work and I prefer it that way because I'm more productive due to being intimately familiar with the technologies in question.
Most the work I've done in the last year has been C#, and I've been using it at home also. I'm much better off working like this than using say C++ for game development in my spare time because I can simply get more done. As an indie I'm not writing the latest and greatest FPS so C# with things like Unity, MonoGame and so forth are more than adequate for what I need and also the best option because there's nothing that'll get me up and doing what I want to do any faster. Sure I could use Java and OpenGL, or C++ and OpenGL or DirectX but I want to actually write games, not write engines.
I don't see what using a different language would get me, other than less productivity. I simply use the right tool for the job and if the job is getting game development done then why wouldn't I use the same language as at work?
It seems pointless to artificially cripple yourself by excluding a potentially superior tool for the task at hand just because it's also what you use at work.
I don't really know what you mean by "more easily separate them", I find it easy to know when I'm sat at home rather than in the office, and I find it easy to tell that I'm doing game development rather than business development so I don't see what difference a language change would possibly make. But then, I'm also not sure what you mean by "can the language hate, it's fine for small projects". It's also fine for extremely large projects, so I don't really know where you're coming from there.
But perhaps I've been developing long enough and have used enough different languages over the years (C, C++, Java, C#, PHP, and Javascript for example) that simply using a different language for the sake of it isn't really something that particularly excites me anymore. I just want to get things done using the best option possible after weighing up all the options available, and if that's the same as the language I'm currently using at work then so be it, and so what? The only reason I'd switch language is because it's either a better option, or because my goal is explicitly to learn or brush up on that language.
To me the language is a triviality, it's such an irrelevance in the grand scheme of things, it's the design, the problem solving, and the end product that make the difference that keeps me interested in my spare time, I couldn't care less what it is written in, the language is just a small implementation detail, an important initial thing to decide upon, but small in practice once the decision is made. Getting caught up on language and library details is the antithesis of being a productive programmer - you shouldn't be thinking about the language or the libraries at all, the language should just flow from your fingers naturally without thought. It's the problem solving that should be taking up all of your thoughts so I'd wager if you're getting caught up on language details to even notice that you're using the same language as at work or not and that that in some way frustrates you then you may well lack familiarity with the language, its tools, and its libraries more so than you're willing to accept. Switching to something different again will only prolong the time with which it takes you to acquire that necessary familiarity to be productive.