Why is my microphone circuit not working?
If the thing is squealing on its own, then at least one of:

You have feedback path thru the power supply.  This can be remedied by putting a decent amount (several 100 &micro;F) of capacitance between each power supply and ground.

It would also be a good idea to isolate the first stage better from power supply noise.  A chip inductor or two, each followed by 10s of &micro;F to ground might help.  Only the first stage would use this filtered supply.

You have a feedback path thru unintended couping somewhere.  This would be fixed by proper layout.  If you really have a good layout and this is still a problem, then you add guard and/or shield traces.  However, that shouldn't be necessary if the rest is done competently.

You are hearing the noise from the charge pump.  I'm guessing that's a charge pump IC in the lower left corner?  Filtering the supplies to the first stage as described above is necessary to fix this.



Otherwise:

Perhaps the overall gain isn't enough.  You haven't said what the gain of the diff amp is, and the output amp only has a gain of 2.  Usually you need a voltage gain of about 1000 to get microphone signals to line level audio.

You are completely blocking DC to the microphone.  That could be OK, even necessary, if it's a dynamic microphone.  However, if it's a electret, then it needs a DC bias to work.