The integers $m_1$ and $m_2$ serve to bound $nx$ between two integers. The set $$=\{-m_2+1,-m_2+2,\ldots,m_1\}$$ is a finite set of integers, so we can choose the smallest member $m$ of this set such that $nx<m$.
If we knew that $nx$ was positive, we wouldn’t need $m_2$: we could just choose the smallest positive integer $m$ such that $nx<m$, since every non-empty set of positive integers has a least element. In fact, we can use that well-ordering principle directly, once we have $m_1$ and $m_2$. Let
$$M=\{m\in\Bbb Z^+:m-m_2>nx\}\;.$$
Then $M\ne\varnothing$, since $m_1+m_2\in M$, so $M$ has a least element, say $k$. Let $m=k-m_2$. Then $m>nx$. However, $k-1\notin M$, so $m-1=k-1-m_2\not>nx$, i.e., $m-1\le nx$. But note that I needed both $m_1$ and $m_2$ to carry out this argument: $m_1$ is needed to ensure that there is at least one integer that’s big enough to exceed $nx$, and $m_2$ is needed to ensure that not every integer is big enough.
In general, Rudin seems to assume we know about integers but not reals. Because of this, it looks like
(a) the definition of $b^i$, with $i$ a positive integer, is inferred from 1.13 ($i$ copies of $b$ multiplied together, just like for the case of $b$ an integer),
(b) $(b^i)^j=b^{ij}$ can be assumed known for positive integers $i, j$ ($j$ copies of $b^i$ multiplied together are the same as $ij$ copies of $b$ multiplied together, say "by associativity"),
(c) similar things can be done for $i$ and $j$ negative, with $b^i$ being $-i$ copies of $1/b$ multiplied together,
(d) from the Corollary to Theorem 1.21 we can also infer $(b^i)^{1/n}=(b^{1/n})^i$ for positive integers $i$ by induction on $i$: if we assume $(b^i)^{1/n}=(b^{1/n})^i$ already shown for some $i$, let $a=b^i$ in the Corollary; we then get $(b^{i+1})^{1/n}=(b^ib)^{1/n}=(b^i)^{1/n}b^{1/n} =(b^{1/n})^i b^{1/n} = (b^{1/n})^{i+1}$. From here we can also get the result for $i$ negative.
Assume wlog that $p$ and $q$ have no common divisor. From our background knowledge regarding integers, we know that $m=jp$, $n=jq$ for some integer $j$.
Our goal is $(b^m)^{1/n}=(b^p)^{1/q}$, that is $(b^{jp})^{1/jq}=(b^p)^{1/q}$. Because of the uniqueness of $n$th roots in Theorem 1.21, we just need to show that $((b^{jp})^{1/jq})^q=b^p$. Based on (d) above, $$((b^{jp})^{1/jq})^q=(b^{jpq})^{1/jq}=((b^p)^{jq})^{1/jq}=b^p$$ as desired.
It's so much fun to prove stuff with one hand tied behind your back!
Best Answer
Because at that point we don’t know that there is a next larger integer. As I said in that answer, we could use the well-ordering principle for the natural numbers to show that such an integer exists if we knew that $nx$ was positive, but we don’t: $n$ is positive, but $x$ can be any real number. The argument using $m_1$ and $m_2$ establishes that there is such an $m$ even if $nx$ is negative. This part of the proof of could just as well have been pulled out as a separate lemma or proposition: for any $x\in\Bbb R$ there is in integer $m$ such that $m-1\le x<m$.