Do you know how long a period the stats cover? I ask because there are some very high errors shown but is the period if over several months, it could be old data. Best to reset your router, check the FEC / CRC error counters are near zero, then try a download and upload and see what the figures are.
Your download and upload speeds look fine but that's just a measure of raw data throughput and doesn't mean the data your getting is actually any good.
The FEC (forward Error Correction) is a system of sending a code with the data so that the receiving end can check the code and apply correction to any of the data that may have been corrupted - say due to noise on the line. The higher the count, the more correction is being applied and there's a fairly high count being shown.
The CRC (Cyclic Redundancy Check) is a system where a block of code is sent with the data. The code is specific to the data packet being sent and is calculated from the data in the packet so, at the receiving end, the calculation is performed again and the result checked against the CRC sum - if they don't match - maybe due to data corruption over the line - it throws a CRC error. In many systems, this causes a re-transmission of the data which, of course, slows everything down. There are some very high CRC errors in your list.
In addition, there's quite a high number of errored seconds - this is a cumulative count of periods of time where the data was considered unuseable.
It could be down to a noisy line although the noise margin, while not great, should be sufficient (it can vary through the day so would be worth a check when you're having partcular problems - lower figure=worse).
Sorry it's bit long winded but hope it helps.
(Edit: why do I feel like a geek?)

The ride is the reason ........ the destination is just the excuse.