Here are the reasons, according to some drivers that I talked to.
First, to new and inexperienced drivers, they choose to stay on the left lane so that they only have to observe that lane instead of both the right and left lanes. And, because they are new, they drive slowly even though the left lane is supposed to be for fast-driving vehicles, allowing them to overtake others.
Some drivers stay in the left lane to avoid dealing with a large number of vehicles in the right lane, including cars, passenger buses and container trucks. They believe that they were following the rules, that as long as they don't violate the speed limits, they can drive in any lane.
Then there are the container truck drivers. They say their vehicles are too heavy to switch lanes, so they just stay in the left lane all the time. They also argue that driving in the right lane can be dangerous when they encounter slow-driving cars, as heavy vehicles take longer to stop.
With all this very personal logic, they stick to the left lane, as it's safe and convenient for them.
Actually it's unsafe for everyone if slow drivers occupy the left lane. The rules for driving in Vietnam state that drivers should stay in the right lane and only use the left lane for passing slower vehicles.
That way, vehicles can keep a safe distance from each other, and faster vehicles can safely separate themselves from slow-moving ones.
The authorities should strictly enforce the rules, as I've hardly seen anyone punished for staying in the left lane.
Before the police come out to get you, please remember that you are using the road together with other people, and it's very dangerous if you just think about your own convenience.