Why does COUNT() return multiple rows when I just need the total count of how many rows my query generates?
Should return 1078.
Well, simple answer. Don't GROUP BY if you don't need groups.
GROUP BY
Either use COUNT(DISTINCT articles.company) without GROUP BY or keep the the GROUP BY and wrap the whole query in a SELECT COUNT(*) FROM (...) AS data, if you want to count the groups.
COUNT(DISTINCT articles.company)
SELECT COUNT(*) FROM (...) AS data