Yank is a term used by those who don't know what it means. Otherwise, they'd know not to say stuff like "I spoke to a Yank the other day with a long southern drawl". It just makes them look stupid.
Septic is equally as asinine, as it is a shortening of "Septic Tank", being rhyming slang. It's not offensive, it's just rhyming slang. It is however stupid, because only a percentage of Americans are Yanks (Yank being what Septic Tank rhymes with). So again, used by the hard of thinking.
SPAM is an acronym, and is indeed offensive, once one understands what the letters stand for. Who in their right mind is OK with being called a Motherf*cker?
GI is a term used by the US government, so I don't see any issue with that, but then nobody (less the US Government...) uses it anymore than they say "swell".
Pom, Rosbif, Limey, Brit or Tommy don't offend me at all. Neither do the American ones above, but I do see why some people see the idiots using those terms for what they are.