Basically, there's two different, and related issues with the companions.
One is related to the small number of companions, the small party size and the current lack of any respec ability or multiclassing. This really limits flexibility. For example, if you do not play as a fighter (or maybe a ranger) you will pretty much have to bring Lae'zel along, whether you like her as a player, and regardless of whether your character would realistically be willing to travel with her. This is particularly acute because three of the five companions are basically evil, and the other two are not exactly good. And Larian (arguably wisely) decided to not gamify approval with gifts, meaning it's genuinely hard to keep the evil characters happy if you make good decisions. This should be solved eventually to some degree - though hopefully we will ultimately get more than 8 NPCs.
The second is related to the writing of the characters. I don't agree that they "need to be nicer." However, the companions are weird, particularly if you (as most people do) play a custom character rather than an origin. The companions are extremely overwritten in terms of their backstory - not only as companions, but as potential origin stories for the PC. I always look to Dragon Age:: Origins as an example that got things right here, insofar as you actually play your prologue, giving you a backstory, but giving you some agency within that backstory. But in general, there's just...too much...in the background of most of the characters for level 1 adventurers. Occasional banter while adventuring and boning aside, they also don't interact with one another very much. Often there's literally nothing to say to certain companions until you advance their personal quest. This is a problem, because it make the companions not feel like people, but like questlines/stories awkwardly ported into the game.
I also feel like while the backstories are incredibly fleshed out, the actual characters motivations are relatively opaque. Part of this is the weird decision on the part of Larian to make every companion a mystery box - which doesn't open for every companion in every runthrough. Some level of this is fine, but it also means unless you pay close attention to what a character approves and disapproves of, you don't really understand their worldview.
Finally, although the origins are quite...involved...they are also random - at least so far. You can generally go one of two ways with companion backstories. One is to have companions who are relatively shallow - like say in the BG series. Another example is characters who have a deep backstory which is tied into the main plot. Planescape: Torment is a good example here. If you have a deep backstory but it seems to be sort of random within the setting, you end up with...well...Fenris from Dragon Age 2, a character who just seems ported from a different game.
I disagree with your first point. not with what you describe ("if you are not a fighter\ranger you have to take Lae'zel"), which is absolutely true, but the conclusions you draw from it. I think the settings of the game addresses your concern - you are in a very extreme situation, and even though you might not like each other, you need each other to survive because like it or not, you are in the same boat.
As for your second point - generally agree. I think the problem here, more than anything in the game itself, is with the marketing. if you play this game without knowing anything about it, you might discover a lot of things as the game seems to be intended. The best example is Astarion. The game builds the reveal of his true nature very slowly. first you might get small notes and might see him sneak out at night, then you find the drained boar, and then he tries to bite you and only then you are supposed to figure out he is a vampire. I think that would have worked really well if we didn't know he is a vampire for months and his picture with blood on his lips wasn't on the loading screen. stupid stupid stupid. same thing with wyll and shadowheart. to summarize, I think this is more of a pacing problem than a writing problem. we know so much about these characters from the get-go, it's just too much. If we compare it to Alistair, we don't know anything about him for (depending on how soon you reach redclif) potentially half the game. but when we do learn, there is a lot to learn, but we already got used to him, learned how he is as a character regardless of his backstory. here we have it backwards tons of backstory with very limited character.