Consider $\mathbb{R}^2 \rightarrow \mathbb{R}$ functions only.
A gradient vector, obtained by applying the gradient to a such a function is said to be normal to a surface in $\mathbb{R}^3$. At the same time, since $$grad(f(x,y))=(\frac{\partial f(x,y)}{\partial x},(\frac{\partial f(x,y)}{\partial y})$$ which is supposed to be tangent to the function. How can grad be tangent and normal at the same time? Where is the wrong link in the statement?
The gradient of a function $f:\Bbb{R}^n\to \Bbb{R}$ points in the direction of greatest increase. It is therefore perpendicular to level surfaces (the sets $f^{-1}(\{d\})$ for $d\in\Bbb{R}$), since those are surfaces along which the function doesn't change. Thus the gradient is normal to these surfaces.
On the other hand, the plane $g(x)=(\nabla f)\cdot(x-a)+f(a)$ is tangent to the graph of $f$ at $a$.
There's not really any conflict between these ideas. It's normal to level sets and tangent to the graph. Since the level sets and graph are different things, it's ok. Also technically speaking the vector isn't tangent to the graph, but determines a plane that is, so they're pretty different contexts.