$N(A\cup B \cup C) = N(A) + N(B) + N(C) - N(A\cap B) - N(A \cap C) - N(B\cap C) + N(A\cap B\cap C)$
Let $Y$ be the no. of persons who eat at least one item. $21 - Y$ people do not eat anything.
$Y = 9 + 10 + 7 - [N(A\cap B) + N(A\cap C) + N(B\cap C)] + 5$
$[N(A\cap B) + N(A\cap C) + N(B\cap C)] = 31 - Y$.
Now, these include the no. of persons who eat all 3 items thrice. So, excluding those, we get, no. of persons who eat at least two items (by adding the no. of persons eating EXACTLY 2 dishes and the number of persons eating all 3 dishes) as
$31 - Y - 2*5 = 21 - Y$.
The minimum value of Y is 10 as 10 people eat fish. Is this possible? Yes.
The maximum value of Y is 21. Is this possible? No. Because 5 people eat all three items. So, the no. of persons eating at most 2 items $= (9-5) + (10-5) + (7-5) = 11$. And adding 5 we get 16 people who eat at least one item.
So, our required answer is $21-10 \geq X \geq 21 - 16 \implies 5 \leq X \leq 11.$