Why did Yukawa theorize a neutral pion? Was it necessary or a guess? At the time, neutrons had just been discovered, but were only needed to explain the extra mass inside nuclei...
We now know that the strong force isn't strong enough to hold positive protons together without intervening neutrons, etc., but...
Why does there have to be a neutral pion?
Do (virtual) neutral pions get exchanged between neutrons?  Do protons exchange only positively-charged pions?  And negative ones go between protons and neutrons?
 A: Yukawa's 1935 paper can be found here. It says "The law of conservation of the electric charge demands that the quantum should have charge either $+e$ or $−e$", and later mentions "such a quantum with large mass and positive
or negative charge has never been found by the experiment". As far as I can tell, he didn't predict a neutral particle.
A: The nuclear force is isoscalar (charge independent), it does not depend on the 3rd component of the isospin of the nucleon:
$$ I_3 = \frac 1 2 (n_u - n_d) $$
where $n_u$ and $n_d$ are the number of up and down quarks (and a complementary formula for antiquarks). Of course, quarks weren't known in 1935, but because $m_p \approx m_n$, isospin was known to be an approximate symmetry.
The nucleon is then viewed as a single particle with to states:
$$ |I=\frac 1 2, I_3 = \pm \frac 1 2 \rangle $$
corresponding to the proton and neutron.
The pions then form an isospin triplet ($I=1$):
$$ \pi^+ = |u\bar d\rangle \rightarrow |1, +1\rangle  $$
$$ \pi^0 = \frac 1{\sqrt 2}(|u\bar u\rangle - |d\bar d\rangle) \rightarrow |1, 0\rangle $$
$$ \pi^- = |d\bar u\rangle \rightarrow |1, -1\rangle  $$
so the neutral pion is absolutely necessary to mediate $pp$ and $nn$ coupling. The terms in the nucleon-nucleon potential look like:
$$ V_{a,b} = V + W \vec I_a \cdot \vec I_b $$
which is isoscalar. The $\vec I$ are vectors in isospin space, and have math just like quantum angular momentum, hence the name: isospin.
