This is a partial answer: the maximum possible number of students is at least 6, and no more than 9.
Lower bound: maximum is at least 6
For this part, we want to show that it's possible to have 6 students' tests that satisfy the given criteria, namely, any two students' tests differ in at least 3 questions. The following set of tests work, where $0$ denotes false and $1$ denotes true:
Upper bound: maximum is no more than 9
For this part, we want to show that it's impossible to have 10 or more students; therefore, the maximum cannot be 10 or larger, and must be at most 9.
To do this, we count as follows: For a given student's test (one of $2^6 = 64$ possible tests), there are $7$ tests that differ in $0$ or $1$ answers from that test: namely, the same test, and one test which differs in each of the six questions. Imagine making a "cluster" around the student's test, consisting of these $7$ tests.
I claim that for any two students, the clusters around the two students' tests do not intersect. Suppose they did intersect: the cluster for test $A$ intersects with the cluster for test $B$. Then that means there's some test $X$ (not a real student's test, a hypothetical test) that's in both clusters. Note that:
$X$ is in $A$'s cluster, so $X$ differs from test $A$ in at most one answer.
$X$ is in $B$'s cluster, so $X$ differs from test $B$ in at most one answer.
Therefore, $A$ differs from $B$ in at most $2$ answers (namely, the 1 answer that $A$ has differing from $X$, and the 1 answer that $X$ has differing from $B$). But this contradicts the fact that any two students' tests must differ in at least 3 answers.
In summary, we have formed a cluster of $7$ tests around each student's test, such that those clusters must not intersect. If there are $n$ students, then there are $7n$ total tests in all clusters and $64$ total possible tests, so
7n < 64
that is, $n \le 9$.