All good questions. I don’t think there’s a single good answer, which is why this kind of thing is a social discussion and not a hard-coded response.
I think one of the core issues is the extent to which there is a group consensus on which words are offensive or derogatory, and of course whether or not they’re only offensive or derogatory coming from one group or another. The N-bomb is a key example of that, at least in our culture. Pretty much everyone agrees that white people do not get to use this word, because of the overtones it carries for the time when whites (as a group) oppressed black people (as a group).
I think the same kind of philosophy comes in with “redskin” vs. “Native American.” “Redskin” is what the white colonizers called the people they were massacring, enslaving, or converting. That or “savage,” I suppose. “Native American” seems to be the commonly used term now because at least it’s accurate, doesn’t seem to have major negative connotations, and seems generally acceptable to the various tribes and indigenous peoples. But if there’s a tribal council that pops up with and with broad support decides they all want to be called a different label, well… I think we’d have to go with that.
As far as the digger pine goes… It looks like this is probably only an offensive term in certain parts of the country, or when dealing with particular groups. Here’s an article I found on that. To paraphrase, it’s actually a reference to yet more white people denigrating native peoples during the California Gold Rush (there’s a theme here). So unless you have a better reason to use the term than just sheer force of habit, I would probably use one of the other terms.
In general, I would say that if there is a broad group consensus that a word is offensive, it’s probably best to just roll with it (and maybe put in the effort to find out why it might be considered offensive in the first place). And if there’s a broad group consensus among a particular group that they prefer one group label over another, it’s probably best to just take their word at it and move on. But if there’s no group consensus, and there’s no group preference, and you can’t figure out why something would be offensive… it’s probably not offensive. I think that’s your best strategy as a fair, open-minded person.
For example, if someone comes up to me tomorrow and loudly insists that no one should ever use the term “vegan” to describe them because they find it offensive, I’m pretty much going to roll my eyes and move on until they can come up with a better justification. Maybe I won’t use the term to their face if we’re friends (there’s such a thing as humoring someone), but I know of no good reason why “vegan” would be offensive.
And look, I know that this all feels exasperating. It’s very tempting to fall back on the “EVERYONE’S OFFENDED AND I’M NOT GONNA PLAY THIS GAME ANYMORE!” response, especially when someone twigs our defense mechanism by pointing out a thing that we’ve done our whole life and never realized was offensive to someone. But you’re right — language mirrors reality, and in many cases creates it, so we have an obligation to ensure that we’re not propagating a bad reality.
This is probably going to keep happening for another few decades, too, because damn, dude, there really are a lot of offensive terms out there. It’s not your fault or my fault or our choice that a lot of racist stuff happened in the past, and made its way into the vernacular. But we’ve got to live in the present, because we don’t have a choice about that either.