What is the fundamental reason for epsilon numbers? I'm trying to wrap my head around the genesis of the $\epsilon$ numbers. In particular, I don't understand what gives rise to $\epsilon_0$ as a necessary notation once we get to $\def\iddots{
  {\kern3mu\raise1mu{.}\kern3mu\raise6mu{.}\kern3mu\raise12mu{.}}} \omega^{\omega^{\omega^\iddots}}$. I've read that $\epsilon_0$ is a fixed point on an exponential map, and (what I think amounts to the same thing) that $\epsilon=\omega^\epsilon$. If this is the same meaning of "fixed point" as in the idea that $2$ is a fixed point of $f(x)=x^2-3x+4$ (such that $f(f(x))$, $f(f(f(x)))$, etc are pointless), then I'm taking this to mean that $\epsilon_0$ is the infinite ordinal at which further iterations of exponentiation can't yield new ordinals. This is the crux of my confusion: either I'm wrong about that meaning of "fixed point" or I'm missing something about why $\def\iddots{
  {\kern3mu\raise1mu{.}\kern3mu\raise6mu{.}\kern3mu\raise12mu{.}}} \omega^{\omega^{\omega^\iddots}}$ is an endpoint for meaningful iteration. If $\def\iddots{
  {\kern3mu\raise1mu{.}\kern3mu\raise6mu{.}\kern3mu\raise12mu{.}}} \omega^{\omega^{\omega^\iddots}}=\:^\omega\omega=\epsilon_0$ couldn't we keep iterating tetration until $\omega\uparrow\uparrow\omega$, and then $\omega\uparrow^{(3)}\omega$ and then $\omega\uparrow^{(\omega)}\omega$ and so on. Is something fundamental breaking down at the point of $\def\iddots{
  {\kern3mu\raise1mu{.}\kern3mu\raise6mu{.}\kern3mu\raise12mu{.}}} \omega^{\omega^{\omega^\iddots}}$ that necessitates the new symbol before meaningful extensions of the ordinals can continue? 
 A: First off, $\alpha\uparrow^\beta\delta$ has no common definition for transfinite ordinals. Secondly, it has the problem of fixed points, mainly,
$$\omega\uparrow^2(\omega+1)\stackrel?=\omega^{\omega\uparrow^2\omega}=\omega^{\epsilon_0}=\epsilon_0=\omega\uparrow^2\omega$$
Indeed, under a definition that has $\alpha\uparrow^2(\beta+1)=\alpha^{\alpha\uparrow^2\beta}$, you will find that
$$\epsilon_0=\omega\uparrow^2\beta\quad\forall\beta\ge\omega$$
Which is, simply put, useless. Which is why we don't use hyperoperations and ordinals together.
Unless you happen to cook up a definition that actually steps beyond this. As I previously defined, with some extension, for ordinals $\alpha\ge\omega$,
$$\alpha\uparrow^\beta\delta=\begin{cases}\alpha,&\delta=1\\\alpha^\delta,&\beta=1\\\sup\{(\alpha\uparrow^\beta\psi)\uparrow^\gamma(\alpha\uparrow^\beta\psi)|0<\gamma<\beta,0<\psi<\delta\},&\text{else}\end{cases}$$
This gives what you might expect, with
$$\omega\uparrow^24=\omega^{\omega^{\omega^\omega}}$$
$$\omega\uparrow^2\omega=\epsilon_0$$
But it does something different once you pass limit ordinals:
$$\omega\uparrow^2(\omega+4)=\epsilon_0\uparrow^24=\epsilon_0^{\epsilon_0^{\epsilon_0^{\epsilon_0}}}$$
Indeed, this is how it overcomes the fixed-point issue, and the values you mentioned in your question are given as
$$\omega\uparrow^3\omega=\zeta_0=\varphi_2(0)$$
$$\omega\uparrow^\omega\omega=\varphi_\omega(0)$$

So why do we avoid this? Because its a slightly convoluted definition. Instead, we ended up using epsilon numbers and the Veblen function.
A: You can do what you propose, but "tetration" also introduces a new symbol ($\uparrow$) so either way you need a new symbol.
Incidentally, $\epsilon_0$ isn't the first time you need a new "symbol" for ordinals.
Finite ordinals can be described by "$1+1+\ldots+1$", but to get $\omega$ you need a new "symbol", $\omega$.
Now with $1, +, \omega$, you can describe all ordinals < $\omega^2$.  At that point, you need a new symbol for multiplication ($\omega^2 = \omega \cdot \omega$).
Now you can get all the way up to (but not including) $\omega^\omega$, and you need to introduce a new symbol for exponentiation.
Then you get all the way up to (but not including) $\epsilon_0$, so you introduce a new symbol for it.
