I will try to answer both your questions in this reply.
Low iron may trigger anxiety, panic attacks, mental disturbances and lead to anemia, but it can be corrected!
You may have a deficiency because of absorption issues
or inadequate intake of iron -rich foods or excessive blood loss.
Have your B vitamins checked as well.
The good thing is that your iron levels can be improved.
Just talk to your doctor or even better, a holistic nutritionist.
Did you have these symptoms before your pregnancy or
birth of your son? Are you a single mother raising your son w/o the involvement of his biological father?
Not prying into your personal life, but this could be a contributing factor that would need to be addressed by therapy, lifestyle changes etc.
Finally have a serious look into your contraception method, as you may have not been made aware of the many possible dangers and side-effects.
Your spotting is likely due to the Depo-Provera, which may also be contributing to headaches/migraines, nervousness
and is not recommended for long-term use because of bone loss issues, which may be permanent, even after discontinuation of Depo-Provera.
It may also put females at higher risk of getting HIV and other issues as progestin significantly thins vaginal walls.
These are things which many doctors do not explain to their patients, before they make their decision to take the "shot".
I have become aware that it has been re-formulated as of recent and supposedly not as bad for bone loss, but I haven't read any medical literature which offers any details on this.
One thing which is a bit of a turn-off that it is used as a chemical castration agent on male sex offenders!
How do you know you have an iron deficiency? Has it been diagnosed? if you're not guessing and it has been diagnosed, are you doing anything about it?