Assessment Instances are not being moved to canceled after the due date.
Most Probable Cause
The Schedule Job Cancel Expired Assessments only runs every 30 days.
The Out of Box Schedule Job called Cancel Expired Assessments runs every 30 days. What it does is it goes through the list of assessment instances and it moves every instance that has a due date before the date the job runs and cancels the assessment. This runs every 30 days. This is why you may see assessment instances that the due date has passed but it has not canceled.
To adjust the frequency in which this job runs, navigate to the Schedule Job and change the "Repeat" to something less than 30 days.