People will still vote Tory until another party can demonstrate that they would be a better alternative.
A lot of Labour supporters can't seem to grasp this: (most) Tory voters know they are terrible, but are slightly less terrible than the alternatives.
Labour's focus is always on what the Tories are doing wrong, not what Labour would do that's better. I don't really care about things that are trivial in the grand scheme - Xmas parties, the source of funds for redecoration. All parties have negatives - whether it's Labour's deputy leader calling her opponents scum, or Labour having to sack an MP for harassing her constituents, or the SNP seemingly only allowing white candidates to stand for MP, or the Lib Dem leader having to stand down because of his views on homosexuality.
When you vote, you're not picking the best party, you're picking the one that you think will fuck things up the least. Only Labour can realistically beat the Tories, yet really, what do Labour actually stand for? Unless they can present plausible policies that they can show are financially viable without putting up taxes (fucking up the electorate in the short term, Corbyn-style) or resorting to borrowing (fucking it up for the long term, a la Blair/Brown years).
Most importantly: instead of asking why people still vote Tory, the real question is why won't people vote Labour?