[guided]The goal of this step is to add vectors to the basis of $U$ without destroying linear independence. Let $m$ be the current length of the list, starting with $m=r$, and define
\begin{align*}
S_m = \operatorname{span}_k\{v_1,\ldots,v_m\}.
\end{align*}
This is the subspace of $V$ already generated by the vectors chosen so far. If $S_m = V$, then the current list already spans $V$ and there is nothing to add. If $S_m \neq V$, then there exists a vector $v_{m+1} \in V \setminus S_m$, and we append this vector to the list.
We verify that appending such a vector preserves linear independence. Suppose $a_1,\ldots,a_m,a_{m+1} \in k$ satisfy
\begin{align*}
a_1v_1+\cdots+a_mv_m+a_{m+1}v_{m+1}=0.
\end{align*}
The only possible way linear independence could fail is if this relation has some nonzero coefficient. First examine the new coefficient $a_{m+1}$. If $a_{m+1}\neq 0$, then $a_{m+1}$ is invertible in the field $k$, so we can solve for $v_{m+1}$:
\begin{align*}
v_{m+1}= -a_{m+1}^{-1}(a_1v_1+\cdots+a_mv_m).
\end{align*}
The right-hand side is a $k$-linear combination of $v_1,\ldots,v_m$, so it lies in $S_m$. This contradicts the choice $v_{m+1} \notin S_m$. Therefore $a_{m+1}=0$.
With the new coefficient equal to zero, the relation becomes
\begin{align*}
a_1v_1+\cdots+a_mv_m=0.
\end{align*}
The previous list was linearly independent, so $a_1=\cdots=a_m=0$. Hence the enlarged list is linearly independent.
We now repeat the same operation whenever the current span is not all of $V$. This cannot continue forever: in an $n$-dimensional vector space, every linearly independent list has at most $n$ vectors. Therefore the construction stops after finitely many additions. When it stops, the stopping condition is precisely that the span of the final list is all of $V$. Thus for some integer $s$ with $r \leq s \leq n$, we have a linearly independent ordered list $(v_1,\ldots,v_s)$ satisfying
\begin{align*}
\operatorname{span}_k\{v_1,\ldots,v_s\}=V.
\end{align*}[/guided]