You write "[pronoun] + [être] could never be followed by an article". That's too simplified to be applied like that.
Je suis dentiste but je suis un bon dentiste (not mandatory to have the indefinite article but we would usually have it).
When you say je suis sénégalaise, sénégalaise is definitely an adjective, not a noun. When you say je suis dentiste/je suis boulanger the profession here works as an adjective and we do not have an article.
From what you are writing it seems you are confused about different sorts of pronouns.
Tu es un bon ami and tu es une bonne amie are both perfectly fine. So are
c'est un bon ami and c'est une bonne amie.
When you write that tu es un bon ami and elle est une bonne amie are both [pronoun] + [être] + [article] + [noun] you are missing an essential point: tu is a 2nd person and il/elle is a 3rd person. And French has the gallicism c'est (ce sont) where the demonstrative pronoun ce (c') can in lots of cases replace the 3rd person subject personal pronouns.
I would not say that elle est une bonne amie is wrong, it is just that it is not usual to say it like that, if I read it I know at once the person writing it is not a French native. It is only with nationalities, professions and religions that using the personal pronoun or the demonstrative pronoun makes no difference at all.
And using the personal pronouns (il(s), elle(s)) or the demonstrative pronoun, makes a difference in construction:
- c’est / ce sont + (un/une/de) + noun
- il / elle est (no article) + noun
Edit:
To answer the questions in the comments: "why is it une dentiste canadienne/politicienne sénégalaise but professeur d’histoire/étudiante en droit ?
Je suis dentiste, je suis professeur, elle est professeure d'histoire, elle est étudiante en droit etc...: the info you want to give is the just about the job/occupation. When you say je suis une dentiste canadienne, the info you want to give is that you're not just any dentiste, you're canadienne; je suis une étudiante en droit allemande → the info you want to give is that you're not just any étudiante en droit, you're allemande (one particular student among all law students). When you say je suis étudiante en droit à Paris II, Paris II is not a personal info, it just tells about the place of study. Je suis une étudiante allemande qui suit des cours à Paris II (Je suis une étudiante allemande et je suis des cours à Paris II).