Show all rows even when count is null
You can do this first: REMOVE THE WHERE CLAUSE

SELECT
 a.area_name,
 COUNT(b.id) AS cnt
FROM areas a
LEFT JOIN events b ON a.area_id = b.i_area
GROUP BY a.area_name


This will show area 2

If you really want the WHERE clause, move it into the ON Clause

SELECT
 a.area_name,
 COUNT(b.id) AS cnt
FROM areas a
LEFT JOIN events b ON
    a.area_id = b.i_area AND
    YEAR(b.i_date) = YEAR(CURRENT_DATE()) AND
    MONTH(b.i_date) = MONTH(CURRENT_DATE())
GROUP BY a.area_name


GIVE IT A TRY !!!