I think the problem you have is logical. For 16 unique answers, you can only have 4 different questions if each of them have only 2 answers, that would be 2 * 2 * 2 * 2 = 16.
With 4 questions you guarantee to get a unique answer each time.
Right now with 8 questions you have 256 possible results. That's 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 = 256. So if you have a catch all case, it makes sense that most people are getting the same result, only 16 combinations out of 256 have something! The probability is 16 / 256 = 0.0625 which is 6.25%. I think i got the math right... in any case, it's a pretty low chance.
If you want more questions there are a couple of things I can think about that you can do.
1) More unique answers. So for 5 questions with two possible answers, you would need 32 unique answers. 2 * 2 * 2 * 2 * 2 = 32. That might be a lot of work, but the results are guaranteed to be unique.
2) You can have questions that decide the main result and questions that only wedge the main result a little bit. This will allow you to keep the answers you have and potentially have an infinite number of questions. This approach requires additional logic to decide exactly what it means to "wedge" the final result, and once that is decided, how big each wedge should be? The good thing is that you don't need to produce more unique results.