In my abstract math class I learned that if we want to get a list of primes $\leq n$ manually, we have to calculate the root of n, and the floor of that result will be the greatest number for which to calculate divisibility.
Ex:
If we want the primes $\leq$ 50.
We write all of them, and remove every value divisible by each of the numbers $\leq$ than $\sqrt{n}$. After doing this, we will have a list of primes.
But why does this root of n work as a 'stop now' designator? I proved that for every composite number n, there is a prime factor $\leq \sqrt{n}$, but I still can't explain the first thing using this fact.
As you say, we take the numbers from $1$ to $n$, and remove all the multiples of each $k$ from $2$ through $\sqrt n$. This removes all the composite numbers. Why?
Suppose $c$ is any composite number less than or equal to $n$. We want to show that $c$ is removed. Then by the second fact you observed, $c$ has a prime factor at most $\sqrt c$. Since $c\le n$, $\sqrt c \le \sqrt n$. So $c$ has a prime factor $p$ of not more than $\sqrt n$, and is therefore a multiple of $p$. When we remove all the multiples of $p$ from our list, we will remove $c$.
But this holds for every composite number $c$ that is not more than $n$, so removing all the multiples of numbers up to $\sqrt n$ removes all the composite numbers.
On the other hand, it is clear that we cannot stop sooner. If $n = p^2$ then $n$ is composite and must be removed. But we will not remove $n$ itself until we remove the multiples of $p = \sqrt n$.