I don't see a reason why NPC's must follow the same spellcasting rules as a player. Sure, the majority of casters in 5e Monster Manual follow have comparable spell slots to players, but at the same time we have creatures with Innate Spellcasting, and some (like drow) that have spellslots and Innate spellcasting at the same time, allowing to cast way more spells than a player can. Plus, although they are not present in BG3 there are feats and class abilities in 5e that allow players to do similar thing (like the Tasha's Ranger, Fey Touched feat, etc.), albeit at a much more limited scope.
In terms of using CR - it is as much of an abstraction as a level. Plus, encounter difficulty is much more than the sum of creature CR anyway. Creature abilities have much more impact than their CR: throw a basilisk at a party that relies on attack rolls for their damage and they will struggle to hit as they avert their eyes. Anyway, my point is this: Why use CR, a concept that only PnP players understand, if we can use level, which everyone playing video games will understand. Particularly if both Level and CR are inaccurate.
Whether or not we should indicate creature level/cr - I'd prefer not to see that, but understand how some players want to see it. So, reiterating many threads on various topics - give me a toggle to turn it off. At least this one should be easy to implement.