1)
How can it be that Tzidkiyah was 21 when he became king? Shalum is Yeho'achaz, Yoshiyah's youngest son, and he was 23 when he reigned. Tzidkiyah was older, and he reigned 11 years later!
1.
Radak citing Ibn Ezra: Tzidkiyah first ruled for three years in his father's lifetime [and ruled totally after Yechanyah].
2.
Malbim (17, citing Mahari): This is a different Tzidkiyah, i.e. Yehoyakim's son. Refer to 24:17:2:1.
3.
Radak: Shalum is not Yeho'achaz, rather, Tzidkiyah (Horiyos 11b) or Yehoyachin. Malbim (17) - he was another son of Yoshiyah. Chazal said that Yochanan is Yeho'achaz; he was born before Tzidkiyah.