The results vary based on the distance of the speed test server & location, but not to much extent.
But yes Latency varies in all the test depending upon the congestion in network & the amount of available bandwidth against the utilized space.
And it also depends upon the Algorithm of that particular website, how it detects your connection & how does it handles your speed test request & also depends on your ISP.
So based on the results of 5 different tests , it is clear that the different websites behave differently to the speed test request as it also depends upon the algorithm , network congestion , amount of bandwidth available, number of users connected to that particular server & how efficient the server is in handling requests from the client.
Some servers are really very good in handling download requests , but some are good in handling upload requests, but it may also depend upon the internet connection that a person is using & its ISP’s.
Broadband speed is measured in Mbps.
And as you said
speedtestDOTnet shows 37Mbps for your connection.
Mbps = Megabits per second.
bytes > bits
It takes 8 bits of data to equal 1 byte.
So if you divide 37 by 8 = 4.6 Megbytes per second.
And your other test result
2. fastDOTcom shows 3.7 Mbps for your connection
So it might be referring to the the actual connection speed of 3.7 Megabytes per second. Because there are differences between two different tests , but not of such huge margin.
There maybe tests showing such huge margin but on a very rare occasion .
And if compared the difference between these two results
4.6 Mega bytes per second - 3.7 Megabytes per second = 0.9 Megabytes per second
So a mere difference of 0.9 Mbps can be considered as negligible in terms of speed test results, as I have already posted screenshots of my test results showing speed drops & increase in latency due to congestion & change in server location (where the actual server is hosted).