There's a few things to clear up here. First off, it's probably helpful to rewrite the law of total expectations without using your variables, since you may give them linear regression interpretations. Given any rvs $W,V$, the law of total expectations says that
$$E[W] = E[E[W|V]].$$
So what you "feed" as $W$ and $V$ in the above will obviously change the interpretation. Eq 1 takes $W = \epsilon$ and $V = X$, whereas Eq 2 takes $W = X^T\epsilon$ and $V =X$ and uses the property of conditional expectations that $E[VW|V] = VE[W|V]$ to the get the RHS of Eq 2. If $X,\epsilon$ were just any random variables, theres no reason to expect them to be equal.
As it turns out, you asked the linked question in the context of a linear regression, where you assume $E[\epsilon|X]=0$. In this case, then they are indeed equal, because
$$E[\epsilon] = E[E[\epsilon|X]] = E=0$$
$$E[X^T\epsilon] = E[E[X^T\epsilon|X] = E[X^TE[\epsilon|X]] = E[X^T0] = 0.$$
So in this case, you can add whatever rv $W$ into $E[WE[\epsilon|X]]$ and you will get that it is $0$ because $E[\epsilon|X] = 0$! But this shouldn't amaze you, because you just assumed that it was $0$, and it wasn't anything you derived.