A problem that just popped into my head. I wrote a Python program to run some tests, and according to the results, I believe the answer is
$$ \min_A\operatorname{rank}(A)=2, \qquad \max_A\operatorname{rank}(A)=n $$ but I can't manage to prove it. Is there a way to solve this?
Let us consider that $n \ge 3$.
The minimal rank can be (much) less than $n$ by taking column vectors obtained by segmenting the sequence $1,2,3 \cdots n^2$ by like this for the case $n=4$:
$$M_4=\begin{pmatrix} 1 & 5 & 9 & 13\\ 2 & 6 & 10 & 14\\ 3 & 7 & 11 & 15\\ 4 & 8 & 12 & 16 \end{pmatrix}$$
which has rank $2$.
Indeed, one can exhibit the following independent elements of the kernel of $M_4$:
$$\begin{pmatrix} 1 \\ -2\\ 1\\ 0 \end{pmatrix} \ \text{and} \ \begin{pmatrix} 0 \\1 \\ -2\\ 1 \end{pmatrix}$$
As the kernel has dimension $d \ge 2$, by rank-nullity theorem, one has
$$rank{M_4} \le 4-2 = 2$$
In fact, the rank of $M_4$ is exactly $2$ because we can exhibit $2$ non proportional elements of the range of $M_4$, i.e.,
$$M_4\begin{pmatrix} 1 \\ 0\\ 0\\ 0 \end{pmatrix} = \begin{pmatrix} 1 \\ 2\\ 3\\ 4 \end{pmatrix} \ \text{and} \ M_4\begin{pmatrix} 0 \\ 1\\ 0\\ 0 \end{pmatrix} = \begin{pmatrix} 5 \\ 6\\ 7\\ 8 \end{pmatrix}$$
This type of rank-$2$ matrix can immediately be extended to any $M_n$ built on the same model.
Therefore the minimal rank is at most $2$. I think that having a rank 1 is impossible, for a general value of $n$, but I haven't established it.
Just seen this connected question.