Big- and little-O notation can be confusing because it violates everything we know about using variables in equations, since each instance of $o(h)$ refers to a (potentially) different function and the quantification (i.e. 'for all' vs. 'there exists') has to be inferred from context.
When we write an equation involving $o(h)$ terms, you should read it as saying that each $o(h)$ can be replaced by $f(h)$ for some function $f$ satisfying $\lim_{h \to 0} \frac{f(h)}{h} = 0$, and that the function $f$ might be different each time.
So in your case, writing $o(h)+o(h)=o(h)$ means:
For all functions $f,g$ such that $\lim_{h \to 0} \frac{f(h)}{h} = 0$ and $\lim_{h \to 0} \frac{g(h)}{h} = 0$, there exists a function $k$ such that $\lim_{h \to 0} \frac{k(h)}{h} = 0$ and $f(h)+g(h)=k(h)$.
(Note that $f$ and $g$ are universally quantified and $k$ is existentially quantified.)
Proving this statement is now easy using elementary facts about limits of functions: just define $k(h)=f(h)+g(h)$ and prove that $\lim_{h \to 0} \frac{k(h)}{h} = 0$.