You're right. If he really wanted to meet you, he already would have by now. He's either married or he's a flake -- either way, you wouldn't want to date him.
He's probably not as fit, young or good looking as his personal ad may suggest. So rather than meet in the flesh and have you dump him, he'd like to keep up the phone sex for as long as possible.
Maybe he's just nervous, shy or insecure. So rather than meet in the flesh and have you dump him, he'd at least like to keep up the phone sex. Give him the benefit of the doubt & a 2nd chance.
He's got a legitimate hobby he's passionate about that only has a small window of opportunity. Don't blame the guy for not wanting to risk losing precious guaranteed fun on a date that could suck.
For some people, three weeks isn't that long to go before meeting in person. Maybe he's just taking things slowly.