My question is: why are all mesons unstable? Shouldn't the lightest mesons like the pion be stable because they are made from the lightest quarks (and anti-quarks)? Or could the they annihilate (the quark and anti-quark)?
They are unstable because there are lighter particles they can decay into, consistent with the symmetries of the standard model.
You can well think of the quark and anti-quark annihilating.
So except for weirdnesses to do with the Higgs mechanism and the flavor oscillations of the neutrinos and such, the world looks like this: there are some intrinsic conserved quantities which each particle has: the baryon number
B, the electron number
Ne, the muon number
Nμ, the tau number
Nτ, the isospin
T, and the hypercharge
Y. (Those are shorthands, so "isospin" really means "third component of the weak isospin," if you're looking this stuff on Wikipedia.)
They go like this:
B Ne Nμ Nτ T Y e-neutrino 0 1 0 0 1/2 -1 μ-neutrino 0 0 1 0 1/2 -1 τ-neutrino 0 0 0 1 1/2 -1 electron 0 1 0 0 -1/2 -1 muon 0 0 1 0 -1/2 -1 tau 0 0 0 1 -1/2 -1 up/charm/top 1/3 0 0 0 1/2 +1/3 down/strange/bottom 1/3 0 0 0 -1/2 +1/3
And of course there is an antiparticle for each of these which has all of its quantum numbers above reversed in sign.
Now the baryon number of a quark is +1/3, but the baryon number of an antiquark is -1/3, so the mesons have a net baryon number of 0 and a net hypercharge of 0, but their isospins can be -1 (e.g. up + anti-down) or 0 (e.g. up + anti-up) or +1 (e.g. down + anti-up.) And that's good because there are two particles which a pion can (for a short timescale) decay into which also have 0 net hypercharge and nonzero isospin:
B Ne Nμ Nτ T Y W+ 0 0 0 0 +1 0 W- 0 0 0 0 -1 0
They have huge masses, but this is no obstacle in quantum mechanics.
The π+ pion can thereby see its up and anti-down quark merge into a W+ boson for a tiny sliver of time, after which the W+ must decay into two particles, totally less massive than the π+, which also have the above sum of quantum numbers. In this case there are only two such options: anti-electron plus e-neutrino, or anti-muon plus μ-neutrino.
It turns out that the muon case is overwhelmingly more likely, and this has a complicated reason behind it which ultimately boils down to "the muon is more massive, and more massive things are easier for the W bosons to decay into." (The effect is technically called "helicity suppression".)
The π0 pion with 0 isospin is even more unlucky, because there is a lower-mass particle which it can decay into directly (having B = N_ = T = Y = 0), and that's the photon. You need two photons to properly conserve momentum, but that's the only subtlety. So they have an incredibly short lifespan because it is indeed a sort of "quark-antiquark annihilation".