First, we need a spin structure to define the spinor bundle. The index theorem does not care which one we take, so we may take even spinors to be $(0,0)$-forms and odd spinors to be $(0,1)$ forms. Both bundles are trivial on $T^2$, so we may take functions as spinors of both parities. Then the positive part of the Dirac operator is $\not\!\partial_+=\partial_{\bar z}$, and the negative is its adjoint, which becomes $\not\!\partial_-=\partial_z$ on functions. Now twist with $E$ and the connection $A$ to get twisted Dirac operators $\not\!\partial_+^E=D_{\bar z}$ and $\not\!\partial_-^E=D_z$ in their notation. Equation (13.37) follows from Riemann-Roch (or Atiyah-Singer, if you prefer). Taking adjoint bundles is the same as doing a complex conjugation if the operators are compatible with a Hermitian metric, so it maps $E\otimes S_\pm$ to $E^*\otimes S_\mp$, preserving the connections. In particular, it maps $\psi_\pm$ zero modes to $\bar\psi_\mp$ zero modes and vice versa. For your second question, regard the operator $\mathcal D$ as the formal difference of the operators $\not\!\partial^E$ and $\not\!\partial^{E^*}$. This operator only has an index if we specify suitable boundary conditions; take those of (39.212). Then the index (39.213) is indeed well-defined. The easiest way to see this is to consider a twisted Dirac operator on the double of $\Sigma$, and that is explained in some detail after (39.213). Because the double has no more boundary, you can use Atiyah-Singer (or Riemann-Roch, if you prefer) to see what the index is.