There's something wrong in the context of Scrum. No task is assigned to a single developer in Scrum. The Scrum guide states:
They (the development team members) are self-organizing. No one (not even the Scrum Master) tells the Development Team how to turn Product Backlog into Increments of potentially releasable functionality;
It's a pull way of work, not a push one.
That said, and on to the specific question, it's a matter of making sure your board reflects in a consistent way the situation, so that you can take actions if something's not right.
Since "in progress" means "I'm actually working on...", and nobody is capable of working on 2 things at the same time, if you happen to have multiple tasks ongoing that means some tasks are waiting (for somebody to resume them, for external input, or are simply blocked)... so you either leave them in the "to-do" column, or you mark them as "blocked", "pending", "waiting for", whatever state is suitable given your internal processes. This way the issue becomes visible and can be treated.