I’m interpreting your question to say that for example, Task A which started on June 1 is an 80 hr task for 1 full time resource (10 working day duration). It is now 8 working days into its duration. Actual work applied has only been 16 hours (20%). But the task still shows completion in 2 days. Why?
This can occur in a couple ways.
1) You created the task as a fixed duration task and assigned it a 10 day duration. In this scenario Project will lock the Finish date as Actual Start + 10 days until the task doesn’t finish on the 10th day, at which time Project will start extending the task duration. In parallel, the assigned resource will now show over allocated on that same task since they have 2 days to complete 64 hours work (from the example).
Resolution: change the task type to Fixed Units so that the resource availability drives the remaining duration.
2) You established a task constraint such as Must Finish, and typed in the must finish by constraint date manually. In these cases, I believe Project will not move remaining work past the constraint date and as the real life date moves past the constraint date, you will end up with remaining work in the calendar past.
Resolution: Remove the task constraint.
3) You directly typed a date in the Finish field. In this case Project is sneaky and it will add a task constraint (see #2) for you but not tell you about it.
Hope this helps