Ultrasounds at 6-9 weeks are the most accurate. I have had U/S at 6 weeks where my conception date was different then they assume with LMP and the U/S backed up my estimated due date (not theirs) within 3 days. Going by LMP they have been off by a week or more! So clearly LMP is not the best way to determine due date.
Later on in the pregnancy all babies are different sizes! It is the size of the baby that they use to determine the age of the baby. A friend of mine had a baby yesterday, close to due date, and he was only 6 lbs and 20 inches. So you can't judge gestational age by size. Ultrasounds can be off at that point by 3 pounds in either direction, as you experienced.
Anyway, I wouldn't worry about the ultrasound, it's not an accurate diagnostic tool as you discovered with your first baby. I've had 30 or so ultrasounds, and the early ones (6-9 weeks) were accurate but the later ones were not. I had an ultrasound that showed my baby would be 9 1/2 lbs at birth, the next showed I would be 8 lbs at due date, the next (while I was in labor one day after my due date) showed 38 weeks and 7 1/2 lbs. I was 40 weeks and he was nearly 10 lbs!
Yes, the gestational age is as inaccurate as the size!