So you prioritized for people willing to sink many hours into your assignment. The need to sink many hours into a homework assignment is the criticism.
Phone interview - 1h during work hours. On-site interview - ~3h total, but probably a whole day off work. Test - ~1h at any time you choose.
I'm not sure I follow your logic. They would spend just as many hours, at a more inconvenient time of day without the test. I did the task myself to a level I'd expect at the time to make sure it does not take "many hours". If that simple task would take people many hours, then I hope they didn't apply... (or they would probably fail very soon if hired at all)
The candidate gets no benefit from doing your take home test. In an interview the candidate learns something about the company. Also the ~1h requirement just isn't realistic if you give an open-ended test - you penalize the people who actually spend 1h and reward those who spend more time.
As the other commenter pointed out, you don't control how many hours a candidate spends on the assignment. All you see is the end result, and the guy who spends 8 hours will generally end up with a more impressive result than the candidate who spends 1 hour, and this reflects time spent far more than candidate quality. If you give an "open ended" assignment, you are encouraging candidates to spend a ton of time and then lie and claim they spent very little time, because that looks impressive.
Do you really think "the 1 person who made a proper package, a short .rst install & use documentation, and included crazy unicode test cases" spent only an hour?
I'm not sure I follow your logic. They would spend just as many hours, at a more inconvenient time of day without the test. I did the task myself to a level I'd expect at the time to make sure it does not take "many hours". If that simple task would take people many hours, then I hope they didn't apply... (or they would probably fail very soon if hired at all)