clear_area() is clearly deleting even invalid entities on purpose. What you need to do is make sure that you don't log entity.name and entity.type when entity is invalid. e.g:
  for _, entity in pairs(surface.find_entities_filtered({area = area, type = {"resource"}, invert = true})) do
    if debug_log then log(string.format("[clear_area]: entity.valid='%s'", entity.valid)) end
    if debug_log and entity.valid then log(string.format("[clear_area]: entity.type='%s',entity.name='%s'", entity.type, entity.name)) end
    if (entity.valid and entity.type ~= "tree") or math.random() < (half_size / 14) then
      if debug_log then
        if entity.valid then
          log(string.format("[clear_area]: Destroying entity.name='%s' ...", entity.name))
        else
          log("[clear_area]: Destroying invalid entity")
        end
      end
      entity.destroy({do_cliff_correction = true, raise_destroy = true})
    end
  end