Basically, Bebe, Charlotte, and Nagisa Momoe are three different names for the same entity. Nagisa Momoe was her name in life; Charlotte is her name as a witch; and Bebe is what the characters call her in Rebellion because they don't know that her witch-name is Charlotte.
Here's the thing: the only reason we (the viewers) know the names of the witches (e.g. Charlotte, Oktavia, Kriemhild Gretchen) is because their names show up in the runes. As far as we know, though, the characters in the show don't see the runes, and even if they do, they presumably can't read them. So even though we know that the witch that kills Mami in episode 3 is named Charlotte, the characters don't.
So when Charlotte shows up in Rebellion, the characters need to call her something. In keeping with Mami's fondness for Italian, she seems to have picked the name "Bebe" (which, with some accents in the right place, means "baby"). Of course, they eventually find out that when she was a human, her name was Nagisa Momoe.