Here's a way of thinking about Igor's answer to the first part:
Consider first a "generic" $n-$dimensional subspace defined by a system of $m-n$ equations. For any particular $n-$facet, being on that facet means you only have $n$ free variables. So if $n< m-n$, there isn't really any hope to satisfy all the equations at once.
Conversely, if you have a subspace satisfying $m-n \leq n$, you can imagine the following process. We will refer to a variable as fixed if its value is equal to $1$ or $-1$, and free otherwise.
We start at the point $v=0$, at which point all variables are free. If at any point there are fewer than $m-n$ free variables, then there must be a $w \neq 0$ in the subspace which is equal to $0$ at all fixed variables (here we're using $m-n \leq n$). We can then replace $v$ by $v+\lambda w$, where $\lambda$ is chosen to be as large as possible subject to the constraint that we still lie in the hypercube. This new vector is still in the subspace, and has (at least) one more fixed variable than before.