Isn't NP problems always also co-NP problems?
The definition you give in the quesition is very imprecise so it's understandable that you've misunderstood it.  The formal definitions are given at our reference question on NP.

A decision problem is in NP if there's some polynomial&nbsp;$p$ and an ordinary, deterministic polynomial-time Turing machine&nbsp;$M$ such that:


For every "yes" instance&nbsp;$x$, there is some&nbsp;$y$ with $|y|\leq p(|x|)$ such that $M$ accepts the string $x,y$;
For every "no" instance&nbsp;$x$, $M$ rejects all strings $x,y$.


So, for example, 3-COLOURABILITY is in NP: the string $y$ is just a description of a $3$-colouring and $M$&nbsp;accepts $x,y$ if $y$&nbsp;is a valid $3$-colouring of the graph&nbsp;$x$ and rejects otherwise.  The point is not that you can "verify 'yes' instances" but, rather, that every "yes" instance has a certificate&nbsp;$y$ that you can use to easily prove that it really is a "yes" instance.

But there's a significant asymmetry in the definition.  If you give $M$&nbsp;a "yes" input and a certificate&nbsp;$y$, then $M$&nbsp;will say "I agree&nbsp;&ndash; that's a 'yes' instance." However, there's no input you can give it that will cause it to say "I agree&nbsp;&ndash; that's a 'no' instance." For any certificate you try, it will just say "That doesn't convince me it's a 'yes'." You could, of course, try all possible certificates. That would certainly prove that you had a "no" instance but there's a problem: there are exponentially many possible certificates to try, so trying all of them doesn't give you a polynomial-time algorithm.