The mistake is that $d\sigma = 0$ does not imply $d\omega = 0$. By Cartan's formula, we have that
\begin{align*}
d\omega = & d(\iota_X \sigma) & & \\
= & \iota_x d\sigma - \mathcal{L}_X \sigma & & \text{(Cartan's formula)} \\
= & - \mathcal{L}_X \sigma, & & \text{($\sigma$ is closed)}
\end{align*}
where $\iota_X$ is the interior product with $X$, so that $(\iota_X \sigma)(Y) = \sigma(X, Y)$ for all vector fields $Y$, and $\mathcal{L}_X$ is the Lie derivative with respect to $X$, which by definition is
$$\mathcal{L}_X \sigma = \left.\frac{d}{dt} \phi^\ast_t \sigma \right|_{t = 0},$$
where $\phi_t$ is the flow generated by the vector field $X$.
So if every $\omega$ were closed, then we would have that every vector field $X$ on $M$ is such that $\mathcal{L}_X \sigma = 0$, i.e. every vector field on $M$ is symplectic. But there is a one-to-one correspondence between flows and vector fields, and the flow of a symplectic vector field is a one-parameter group of symplectomorphisms. This of course is an incredibly strong requirement that is not often satisfied by any manifold $M$ (if ever).