Because even immigrants have to swear an oath of allegiance.
"I hereby declare, on oath, that I absolutely and entirely renounce and abjure all allegiance and fidelity to any foreign prince, potentate, state, or sovereignty of whom or which I have heretofore been a subject or citizen; that I will support and defend the Constitution and laws of the United States of America against all enemies, foreign and domestic; that I will bear true faith and allegiance to the same; that I will bear arms on behalf of the United States when required by the law; that I will perform noncombatant service in the Armed Forces of the United States when required by the law; that I will perform work of national importance under civilian direction when required by the law; and that I take this obligation freely without any mental reservation or purpose of evasion; so help me God."
Citizens also pledge allegiance in school.
If you swear an oath and don't mean it, then your word means nothing. And you're not truly a citizen.
You can't swear that oath or pledge allegiance if you are opposed to an amendment that can't be amended/broken/changed like the 2nd amendment.
If you don't care about the unconstitutional bans and restrictions of US citizen's 2nd amendment, you're also breaking that oath/pledge.
But I'm sure you have more excuses. :{