NOTE: Brian's answer has been already posted before mine. But I think I'll leave my answer too - for some people viewing the problem as a problem about the topological space $[0,1]^{\mathbb N}$ might be useful. (Second part of my answer is similar to Brian's but I think his answer is more clear.)
I'll consider the following question: Given a double sequence $(a_{m,n})_{m,n\in\mathbb N}$ in $[0,1]$, is it possible to choose $(n_k)_{k\in\mathbb N}$ such that each row $(a_{m,n_k})_{k=1}^\infty$ converges, i.e. there exists limit $L_k=\lim\limits_{k\to\infty} a_{m,n_k}$ for each $m$.
If this is true, it answers your question, since you can use it for rows first and then apply the same result on the chosen sequence for columns. However, I will describe an approach different from the construction suggested in your post.
I'll describe my solution in two possible ways. You may choose whichever is more understandable for you.
First, let us have a look at this problem from the viewpoint of general topology. We can consider the double sequence $(a_{m,n})$ as a sequence $(a^{(n)})$ of elements of $[0,1]^{\mathbb N}$. Note that this space consists of all functions $\mathbb N \to [0,1]$ and we work with the functions $a^{(n)}: \mathbb N \to [0,1]$. $a^{(n)}(m)=a_{m,n}$ We consider the usual product topology on this space. Hence it is a compact metrizable space.
Compact metrizable space is sequentially compact, hence there exists a subsequence $a^{(n_k)}$ which is convergent in $[0,1]^{\mathbb N}$ to some $L$. Since convergence in the product topology is precisely the pointwise convergence, this means that for each $m\in\mathbb N$ $\lim_{k\to\infty} a^{(n_k)}(m) =\lim_{k\to\infty} a_{m,n_k} = L(k).$ I.e., all rows are convergent.
A more constructive approach (which is basically the same as above, we simply mimic the proof of Bolzano-Weierstrass theorem) would be the following. I will just sketch the construction - I hope you'll be able to fill in the details.
First we divide $[0,1]=[0,1/2]\cup[1/2,1]$. One of the sets $\{n\in\mathbb N; a_{1n}\in [0,1/2]\}$ and $\{n\in\mathbb N; a_{1n}\in [1/2,1]\}$ is infinite. Denote this set by $A_1$, the corresponding interval by $I^{(1)}_1$. For $m>1$ put $I^{(m)}_1=[0,1]$. Choose any $n_1\in A_1$.
In the $k$-th step suppose that we already have $n_1 and some intervals $I^{(1)}_k, \dots, I^{(k)}_k$. For any $m>k$ we have $I^{(m)}_k=[0,1]$. We will construct $n_{k+1}$ and $k+1$-th intervals in the following way:
Divide each of the intervals $I^{(1)}_k, \dots, I^{(k+1)}_k$ into two halves. For any choice of half-intervals $J_1,\dots,J_{k+1}$ we get some set $\{n\in\mathbb N; a_{1n}\in J_1, \ldots, a_{k+1,n}\in J_{k+1}\}$. Since we have only finitely many sets (namely $2^{k+1}$), one of them must be infinite. We choose any such set and denote it by $A_{k+1}$. The corresponding half-intervals are chosen for $I^{(1)}_{k+1}, \dots, I^{(k+1)}_{k+1}$. The new index $n_{k+1}$ is chosen as an arbitrary element of $A_{k+1}$ that is larger than $n_k$.
In this way we construct a sequence $n_k$ such that $a_{m,n_k}$ converges for each $m$. (Notice that $a_{m,n_k}\in I^{(m)}_k$ and the length of the nested intervals $I^{(m)}_k$ decreases to 0. Thus $a_{m,n_k}$ converges to the unique point in the intersection of these intervals.)