Thank you for citing your source and for taking the time to explain how you arrived at the answer you chose.
The correct answer is actually (c). The same rule applies as in your other recent So or such thread, which is that "such" modifies a noun phrase, but "so" modifies an adjective or adverb.
So, why not (a)? The construct "so [+ adjective]" often wants to be followed by a "that ... " clause expressing result. Here, the word "that" is understood:
c': There were so few people around [that] the streets were almost deserted.
but in the example from the earlier thread ("It's so hot outside that I can't go shopping."), it's written out.
In contrast, "too" does not invite such a clause. If we choose (a) instead of (c), we get a comma-splice error (two independent clauses joined by a comma; also known as a run-on sentence):
Wrong: a': *There were too few people around, the streets were almost deserted.
Right: a'': There were too few people around. The streets were almost deserted.
Right: a''': There were too few people around; the streets were almost deserted.
Also, "too few" implies that there is a minimum requirement that has been violated. I would prefer "very" instead of "too" in (a'') and (a''').