You are conflating the ability to define citizenship with the ability to interpret the meaning of the Constitution.
1. Yes, Congress does indeed have the authority to pass legislation relating to who is and who is not a citizen of the United States, within limits (For example, the 14th Amendment states that all persons born in the US are citizens. Congress cannot pass legislation that says people born in the US are not citizens). That is indisputable.
2. However, Congress has no authority to pass legislation that attempts to define what the text of the Constitution means. Therefore, Congress cannot pass legislation that attempts to define the meaning of the term "natural born citizen" as that term is used in Article II.
3. As a result, Congress can pass a law that says all persons born to US citizens in a territory controlled by the United States are "natural born citizens." But, that does not mean that those person born to US citizens in a territory controlled by the US are therefore "natural born persons" for purposes of Article II of the Constitution.
As I explained above, Congress can no more define what the terms "cruel and unusual punishment" or "due process" or "privileges and immunities" mean for constitutional purposes than it could define what the term "natural born citizen" means. Those determinations are for the courts to decide. Because the courts have never had occasion to decide what the term "natural born citizen" means in Article II, there remains some doubt, however small, as to whether McCain is in fact a "natural born citizen."