You have to distinguish between the conditional expectation with respect to a $\sigma$-algebra and the conditional expectation with respect to an event.
Let $X$ be a random variable on some probability space $(\Omega,\mathcal{A}, \mathbb{P})$ (the $\sigma$-algebra $\mathcal{A}$ being the set of all events) such that $\mathbb{E}[|X|]<\infty$. Then, if $A\in \mathcal{A}$ is an event with $\mathbb{P}(A)>0$, the conditional expectation of $X$ given the event $A$ is defined by
$\mathbb{E}[X|A]=\frac{\mathbb{E}[X 1_A]}{\mathbb{P}(A)}$.
In your case, $A=\{X=1\}$ and $\mathbb{E}[X|X=1]=1$ $( A=\{X=-1\}$ and $\mathbb{E}[X|X=-1]=-1$, respectively). Note that $\mathbb{E}[X|A]$ is a scalar quantity.
The law of total expectation that you are wrongly using refers to conditional expectations with respect to a sub-$\sigma$-algebra, and not to some specific event.
If $\mathcal{F}\subseteq \mathcal{A}$ is a sub-$\sigma$-algebra, then the conditional expectation given $\mathcal{F}$, denoted by $\mathbb{E}[X|\mathcal{F}]$, is again a random variable. In this case, the law of total expectation reads
$\mathbb{E}[\mathbb{E}(X|\mathcal{F})]=E[X] $.
If we set $\mathcal{F}:=\sigma(X)$ (the $\sigma$-algebra generated by $X$) in your example, then one can show that
$\mathbb{E}(X|\mathcal{F})(\omega)=\mathbb{E}[X|X=1]\cdot 1_{\{X=1\}}(\omega)+\mathbb{E}[X|X=-1]\cdot 1_{\{X=-1\}}(\omega)$ for all $\omega \in \Omega$.
Applying the law of total expectation leads then to the formula you were first deriving:
$E[X]=\mathbb{E}[\mathbb{E}(X|\mathcal{F})]=\mathbb{E}[X|X=1]\cdot \mathbb{P}(\{X=1\})+\mathbb{E}[X|X=-1]\cdot \mathbb{P}(\{X=-1\})=1\cdot \frac{1}{2}+(-1)\cdot \frac{1}{2}=0$.