To solve question 23 you use the inequalities from questions 21 and 22, which I give here with their proofs.
Qu. 21) If
$$|x-x_0|<\min\bigg(\frac{\varepsilon}{2(|y_0|+1)}, 1 \bigg)\quad\text{and}\quad |y-y_0|< \frac{\varepsilon}{2(|x_0|+1)} \tag{1}$$
then $|xy-x_0y_0|<\varepsilon$.
Proof:
Since $|x-x_0|<1$ we have $|x|-|x_0|<|x-x_0|<1\Longrightarrow |x|<|x_0|+1$, and so
\begin{align*}
|xy-x_0y_0|&=|x(y-y_0)-y_0(x_0-x)|\\
&\le|x||y-y_0|+|y_0||x_0-x|\\
&< (1+ |x_0|)\frac{\varepsilon}{2(|x_0|+1)}+|y_0|\frac{\varepsilon}{2(|y_0|+1)}\\
&<\frac{\varepsilon}{2}+\frac{\varepsilon}{2}=\varepsilon.
\end{align*}
Qu. 22) If $y_0\neq0$ and
$$|y-y_0|<\min\bigg(\frac{|y_0|}{2}, \frac{\varepsilon |y_0|^2}{2} \bigg), \tag{2}$$
then $y\neq0$ and
$$\bigg| \frac{1}{y}-\frac{1}{y_0}\bigg|<\varepsilon.$$
Proof:
$|y_0|-|y|\le|y-y_0|<\frac{|y_0|}{2}\Longrightarrow |y|>\frac{|y_0|}{2}$. Since $y\neq0$ we have
$$\frac{1}{|y|}<\frac{2}{|y_0|}.$$
Then
$$\bigg| \frac{1}{y}-\frac{1}{y_0}\bigg|=\frac{|y-y_0|}{|y||y_0|}<\frac{1}{|y|}\cdot\frac{2}{|y_0|}\cdot\frac{\varepsilon |y_0|^2}{2}=\varepsilon.$$
Qu. 23) If $y_0\neq 0$ and
$$|y-y_0|<\min\bigg( \frac{|y_0|}{2},\frac{\varepsilon|y_0|^2}{4(|x_0|+1)} \bigg) \qquad\text{and}\qquad |x-x_0|<\min\bigg(\frac{\varepsilon}{2(1/|y_0|+1)},1 \bigg)$$
then $y\neq 0$ and
$$ \bigg| \frac{x}{y}-\frac{x_0}{y_0}\bigg|<\varepsilon.$$
Proof:
We note that
$$\bigg| \frac{x}{y}-\frac{x_0}{y_0}\bigg|=\bigg| x\cdot\frac{1}{y}-x_0\cdot\frac{1}{y_0}\bigg|$$
which is just $|xy-x_0y_0|$ of question 21 but with $y$, and $y_0$ replaced by $\frac{1}{y}$, and $\frac{1}{y_0}$ respectively, where $y\neq0$. Hence we require, by inequality (1) that
$$|x-x_0|<\min\bigg(\frac{\varepsilon}{2(1/|y_0|+1)}, 1 \bigg)\quad\text{and}\quad \bigg|\frac{1}{y}-\frac{1}{y_0}\bigg| < \frac{\varepsilon}{2(|x_0|+1)}. \tag{3}$$
Now in question 22, inequality (2) allows $\big| \frac{1}{y}-\frac{1}{y_0}\big|<\varepsilon$. However we must replace the $\varepsilon$ of inequality (2) with $\frac{\varepsilon}{2(|x_0|+1)}$ of (3) to give:
$$|y-y_0| <\min\bigg(\frac{|y_0|}{2}, \frac{\varepsilon |y_0|^2}{4(|x_0|+1)} \bigg).$$
To see why
$$|x-x_0|<\min\bigg(\frac{\varepsilon |y_0|}{4},1 \bigg)$$
is the wrong choice, we rework question 22:
\begin{align*}
\bigg| \frac{x}{y}-\frac{x_0}{y_0}\bigg|&= \frac{\left|xy_0-x_0y\right|}{\left|yy_0\right|}\\
&=\frac{ |x (y_0-y)- y(x_0-x)|}{|y||y_0|}\\
&\leq\frac{ | x ||y-y_0|}{|y||y_0|}+\frac{|x-x_0|}{|y_0|}\\
&\leq\frac{ (1+| x _0|)|y-y_0|}{|y||y_0|}+\frac{|x-x_0|}{|y_0|}\\
&<\frac{ (1+| x _0|)}{|y||y_0|}\cdot\frac{\varepsilon |y_0|^2}{4(|x_0|+1)}+\frac{|x-x_0|}{|y_0|}\tag{$\star$}\\
&<\frac{2}{|y_0|}\cdot\frac{ 1}{|y_0|}\cdot\frac{\varepsilon |y_0|^2}{4}+\frac{|x-x_0|}{|y_0|}\\
&=\frac{\varepsilon}{2}+\frac{|x-x_0|}{|y_0|}.
\end{align*}
Where we have used
$$\frac{1}{|y|}<\frac{2}{|y_0|}$$
from question 22 in the penultimate inequality. Now if $|x-x_0|<\min\big(\frac{\varepsilon |y_0|}{4},1 \big)$, we should have
$$\bigg| \frac{x}{y}-\frac{x_0}{y_0}\bigg|<\frac{\varepsilon}{2}+\frac{\varepsilon}{4}=\frac{3\varepsilon}{4}.$$
Now here could be a source of confusion because for sure $\frac{3\varepsilon}{4}<\varepsilon$, but that is not what is required. What is required is for $\big| \frac{x}{y}-\frac{x_0}{y_0}\big|<\varepsilon$, and as such we need to end up with two numbers $\varepsilon_1$ and $\varepsilon_2$, say, which add up to $\varepsilon$, which is some fixed number $>0$. The point is that when you assert something is less than $\varepsilon$ in the proof, you don't know if it is less than $\frac{3\varepsilon}{4}$, indeed, it could be greater than $\frac{3\varepsilon}{4}$, just as long as it is $<\varepsilon$.
The answer given in (3) works since
$$\frac{|x-x_{0}|}{|y_0|} <\frac{\varepsilon/|y_0|}{2(1/|y_0|+1)}< \frac{\varepsilon }{2},$$
which yields the desired $\varepsilon$ when plugged into $(\star)$.
Your proof is essentially correct, except for some minuscule, easily corrected mistakes.
When you write $|x - x_0||y - y_0| < |y - y_0|$, you're assuming $y - y_0 \ne 0$.
Your last inequality before the word "from" should be an equality.
Your calculations after that assume $x - x_0 \ne 0$. By rearranging them so as to avoid division by $|x - x_0|$, this can be avoided.
You will make your life easier if you use $\leq$ whenever you don't really need $<$.
In answer to your last question, you're right, except that Spivak probably didn't want to bother saying what would happen in the special case $y_0 = 0$. The point of this exercise is not to find the sharpest bounds possible for $|x - x_0|$ and $|y - y_0|$, merely to exhibit bounds that work.
Best Answer
You basically just need a number for $\delta$ that is positive and can be used to manipulate $|xy-x_0 y_0|$ to be less than any $\epsilon$. So, since they obtained $|x| |y-y_0| + |y_0| |x-x_0|$ from the triangle inequality, they decided to somehow make the two summands both less than $\epsilon/2$ to get the desired result. The easiest way was to have $|y-y_0| < \frac{\epsilon}{2(|x_0|+1)}$ since that is definitely positive and definitely an easy way to help force it to become less than $\epsilon/2$, along with using the inequality defined for $|x-x_0|$.