Why pctincrease ZERO SMON doesnt need to coalesce:
Because any free extent can be reused
If PCTINCREASE were 1 you get different size of extents therefore you get freespace fragmentation that´s why SMON has to coalesce

Why locally managed tablespace doesnt have to coalesce:
Because the size of extents size are uniform or multiples of each other (so can be reused).

If you really want SMON to coalesce your tablespace create tablespace with pctincrease 1 and when you create table set pctincrease to 0, you still get uniform extents and SMON will coalesce (SMON works at tablespace level)

This is from Oracle documents