Having a resource working on multiple tasks concurrently is not an error -- in fact, this is something that almost always happens in real life.
View > Resource Usage
First, check to see the "Max Units" entry for each resource. 100% is generally unrealistic (there are always meetings, emails, support phone calls, etc., etc., that need to be considered).
All resources in bold red have at least one overallocation.
Note that because of the way project schedules tasks, it is possible to have, for example, a resource assigned to 2 4-hour tasks on the same day and Project -- under specific circumstances -- will show that resource as overallocated.
Note that looking for day-by-day overallocations is a waste of time. At best, look for overallocations on a month-by-month basis.
View > Resource Usage
Format > Timescale and set middle tier to Years with a count of 1 and set the bottom tier to Months with a count of 1.
Finally, overallocations are based on Work assigned to that resource. If your estimates are wrong then your perceived overallocations will be wrong.