Spivak, Ch. 18, Problem 21: $f$ satisfies $f'=cf$ for some number $c$, show that $f(x)=ke^{cx}$ for some $k$. 


*Suppose that on some interval the function $f$ satisfies $f'=cf$ for some number $c$.

(a) Assuming that $f$ is never $0$, use Problem 20(b) to prove that
$|f(x)|=le^{cx}$ for some number $l>0$. It follows that $f(x)=ke^{cx}$
for some $k$.
(b) Show that this result holds without the added assumption that $f$
is never $0$. Hint: show that $f$ can't be $0$ at the endpoint of an
open interval on which it is nowhere $0$.

I am interested specifically in the solution to part $(b)$.
A question about this problem has been asked before. However, I am not fully satisfied with the accepted answer where it pertains to item $(b)$. Though I understand the reasoning in that answer, I felt that the final part was left a bit vague

we can continue the same argument by replacing $a$ with $(a+p)$ (or
$(a-p)$) and thereby extend the region where $f$ does not vanish.
Using the same argument repeatedly we can show that $f$ does not
vanish at any point in $I$.

How exactly do we use the same argument repeatedly (ie, I would like to see what that looks like formally)?
I think I reached a similar point in my own attempt at a proof, and that is why I am asking this question. Here is my attempt

Our only assumption is that $$f'=cf\tag{1}$$ on some interval.
Let $[a,b]$ be the interval. $(1)$ implies that $f$ is differentiable
and hence continuous on $[a,b]$.
First, there is a trivial case: $f(x)=0=0\cdot e^{cx}$.
Now let's consider the case where $f\neq 0$ at some point $x_1$.
Suppose $f(x_1)>0$. Then, by continuity, there is an interval $(m,n)$
around $x_1$ such that $f(x)>0$ for $x\in (m,n)$.
By part $(a)$, $f(x)=ke^{cx}$ for $k>0$ on $(m,n)$.
Suppose $f(n)\leq0$.
But $\lim\limits_{x\to n^-} ke^{cx}=ke^{cn}>0\neq f(n)$. Thus $f$ is
discontinuous at $n$, which contradicts our assumptions.
Therefore, $f(n)>0$.
Analogously, we can show that $f(m)>0$.

So, if the above is correct (is it?), I am at a similar point to the linked answer. I need to extend my argument such that $m$ and $n$ move outwards to encompass all of $[a,b]$.
How do I finish this proof?
Edit: I had forgotten to check the solution manual, but I just did and it is also kind of terse.
It uses the same argument I used above, but leaves the part I am asking about as a hint. It says

On an interval where $f$ is non-zero it has the form $f(x)=ke^{cx}$.
But this can't approach $0$ at the endpoint of the interval; so $f$
couldn't be $0$ at the endpoints. This proves that if $f$ is non-zero
at one point $x_0$, then it is nowhere $0$ (consider
$\sup\{x>x_0:f(x)\neq 0\}$ and $\inf\{x<x_0:f(x)\neq 0\}$

 A: Let $f:I\to \Bbb{R}$ differentiable and satisfy $f'=cf$ on $I$
Let $I=[a, b] $
Suppose $f(x_0) \neq 0$ for some $x_0\in I$ .
Then by continuity $\exists (a_1, b_1) \subset I$ such that $f\neq 0$ on $(a_1,b_1)$.
Hence by $(a)$ , $f(x) =ke^{cx}$ on $(a_1, b_1) $

Claim: $f(x) =ke^{cx}$ on $\overline{(a_1, b_1)} =[a_1, b_1]$
Proof: Consider $g(x) =ke^{cx}$ .
Then $f=g$ on $(a_1, b_1) $
Note: If two continuous function agrees on a dense set then both agrees on the whole space/ closure of the domain. (See here ) (provided target space is Hausdorff).
Hence $f(x) =ke^{cx}$ on $[a_1, b_1]$ implies $f\neq 0$ on $[a_1, b_1]$.
Again $f(b_1) \neq 0$ implies we can select an open interval containing $b_1$ which intersect $(a_1, b_1) $ where $f\neq 0$ .
Continuing I this fashion we can generate an open overlapping cover of $[a, b]$ and then by compactness of $[a, b]$ , we can select finitely many of them.
Hence $f\neq 0$ on $[a, b]$ implies $f(x) =ke^{cx}$ on $[a, b]$
Done!
A: Suppose a differentiable function $f$ satisfies $f' = cf$ on an interval $I$, for some $c \in \mathbb R$. Without loss of generality, we can assume $I = (a, b)$ because we can take the closure and extend $f$ in a continuous fashion if needed.
Your concern with the proof of part (b) is justified. In the link you provided, a subtle point is that the function $g$ is defined on some interval of type $[0, p)$ where you take the maximal possible $p > 0$. So when you inductively construct a cover, the $p$'s form an increasing sequence (bounded above by $(b - a)/2$). Anyway, the following proof by contradiction following the hint is cleaner.
Formal proof of part (b):
If $f$ vanishes everywhere, then we get the result for $k = 0$, so suppose otherwise. Consider the nonempty open subset $U = \{x \in I: f(x) \neq 0\} \subset I$.
We will show that $U = I$. For the sake of contradiction, suppose otherwise: $U \subsetneq I$. Take any $x \in U$. Then there is a maximal open interval $(y, z) \subset U$ containing $x$. This can be proved by Zorn's lemma or using equivalence classes (see here). Now apply part (a) for the open interval $(y, z)$ to find that $f$ is a nonzero exponential function on $(y, z)$ and by continuity on $[y, z]$. Since nonzero exponentials do not vanish anywhere, $f(y) \neq 0$ and $f(z) \neq 0$. So again by continuity, we find a slightly larger open interval $(y, z) \subset (y', z') \subset U$ (i.e., $f$ is nonvanishing on $(y', z')$) for some $y' < y$ and $z' > z$. This contradicts the maximality of $(y, z) \subset U$.
Since $U = I$, $f$ is nowhere vanishing and we are done by part (a).
