FCC uses self reporting data provided by the broadband providers . The broadband providers puff their coverage with a wink and nod.
Microsoft uses hard data from actual connections.
The reason is because of the way the FCC allows providers to report. If a cable company has a single customer in a given area (not sure if it is a zip code or broken down smaller) eligible for 10 Mbps service, they count that area as "having broadband". Doesn't matter if 99% of the customers in that area can't get service that fast - or any service at all!
There has been some talk over the years in the FCC for them to request reporting be done differently, but the broadband providers always push back. They claim it would be "too expensive" to provide detail down to the house - nevermind that most providers allow you to type in your address on their web page and they'll tell you what level of service you can get! The real reason is because they don't want it known how many people don't have broadband, because then they might be required to do something about it.
Microsoft would have pretty good data, even if not everyone has a Windows PC enough do that they can figure out the speed based on delivery of Windows updates, etc. I'd definitely believe that over the useless info in the "official" broadband map the FCC shows.