Липсва ви клауза GROUP BY:
SELECT news.id, users.username, news.title, news.date, news.body, COUNT(comments.id)
FROM news
LEFT JOIN users
ON news.user_id = users.id
LEFT JOIN comments
ON comments.news_id = news.id
GROUP BY news.id
Лявото съединение е правилно. Ако сте използвали INNER или RIGHT JOIN, тогава няма да получавате новини, които нямат коментари.