I prefer representing languages by their decision problems, i.e. Boolean functions $2^\to 2$, i.e. the language $L = {x\in 2^\mid \varphi(x)}$ and $\varphi(x)\iff x\in L$ converts between these two representations. That given languages $L_1, L_2\in\mathbf{NP}$, $L_1\cap L_2\in\mathbf{NP}$ looks like: given $\varphi,\psi\in\mathbf{NP}$, $\varphi\land\psi\in\mathbf{NP}$.
By (one) definition, $\varphi\in\mathbf{NP}$ if and only if there is a polynomial-time Turing machine (TM) $M$ and a polynomial $p$ such that for all $x\in2^$, $$\varphi(x)\iff\exists u\in 2^{p(|x|)}.M(x,u)=1$$ where $|x|$ is the length of the bitstring $x$. The reason the conjunction of $\varphi_1$ and $\varphi_2$ is in $\mathbf{NP}$ is because if for each $x\in 2^$, there exist TMs $M_i$, polynomials $p_i$, and $u_i\in 2^{p_i(|x|)}$ such that $\varphi_i(x) \iff M_i(x,u_i)=1$, then $u_1u_2\in 2^{q(|x|)}$ where $q(X) = p_1(X)+p_2(X)$ is a polynomial such that $\varphi_1(x)\land\varphi_2(x) \iff M(x,u) = 1$ where $M$ is the TM that extracts the first $p_1(|x|)$ bits of $u$ which is $u_1$ and simulates $M_1(x,u_1)$, then extracts the remaining $p_2(|x|)$ bits of $u$ which is $u_2$ and simulates $M_2(x,u_2)$ and returns $1$ if each of these return $1$. 9
$M$ runs in polynomial-time if $M_1$ and $M_2$ do.
So why doesn't a similar approach work for the complement, i.e. for calculating $\neg\varphi(x)$? Let's logically manipulate the definition of $\mathbf{NP}$ a bit. Negating both sides of the $\iff$ gives $$\neg\varphi(x)\iff\forall u\in 2^{p(|x|)}.M(x,u)=0$$ So the issue is while for $\varphi\in\mathbf{NP}$ there is for every $x\in 2^$ some TM $M$, polynomial $p$, and $u\in 2^{p(|x|)}$ such that $M(x,u)=1 \implies \varphi(x)$, for $\neg\varphi$ to be in $\mathbf{NP}$ we'd need $M(x,u) = 1 \implies \varphi(x)$ for all* $u\in 2^{p(|x|)}$ which is to say $M$ would need to decide membership for $x$ without using anything (except perhaps the length) about $u$. This certainly isn't the case for all TMs witnessing membership in $\mathbf{NP}$. Therefore, we can't use an arbitrary witness that $\varphi\in\mathbf{NP}$ to build a witness that $\neg\varphi\in\mathbf{NP}$ simply by simulating $M$ and negating the result. This doesn't rule out that we can't find other TMs to witness $\neg\varphi\in\mathbf{NP}$; just that the TM that simulates $M$ and negates its output doesn't work in general. 945