@Shift:
So what, Buggy could join because he was an enemy turned ally? Crocodile? Aokiji? There's a whole can of worms opened when it's suggested to make people we were supposed to side against into characters we're meant to follow as our heroes to the end.
My argument was never "Smoker acted as an ally recently, therefore he will join", rather I was replying to you by saying that "Smoker being an antagonist in the past isn't enough to prevent him from joining considering 'a' and 'b'".
But why would Oda write him joining the crew, right? Well, I'll link to a video with some arguments, none of them definitive or groundbreaking, but solid as motives:
Just to add something to the video, I'll say that Punk Hazard was puzzling to me in how Oda handled Smoker's position in the narrative. You see, I come from a personal assumption that Smoker is an important character in One Piece, someone with a key role to perform in the present time, not just something decorative as becoming an Admiral in the epilogue of the series. Maybe I'm wrong. Maybe he's not a super important character. Maybe he is just a gloryfied extra that will be in the background as just another ally against the WG or maybe even defending the WG.
Nevertheless, supposing Smoker is in fact a key character in the story, for the longest time Smoker's most obvious role was that of Javert (from Les Miserables), someone that would chase Luffy to the end of the world and eventually, maybe, let him go because Luffy was the hero, not the bad guy. Or maybe they would have a big fight that would go down in history, who knows. However, Smoker can't perform this role anymore because he is not a threat to Luffy anymore. To begin with, it's reasonable to say that nowadays Smoker is weak compared to Luffy, considering all the beating he suffered in Punk Hazard against multiple characters (Law, Vergo, Mingo). It's impossible to sustain the weight of rivalry when the rival is so much behind the main character. Right now Luffy is being prepared to fight against the Yonkou and Sakazuki. Besides that, Smoker and Luffy were too friendly throughout Punk Hazard and now it's a little hard to see them really going for each others' throats, even if Smoker likes his pose of a proud marine. Therefore, I can't see Smoker being Javert.
Alternatively, what could be Smoker's key role in the story if he can't be a rival? The answer is fighting alongside the Strawhats not as a "reluctant ally", but as a proper friend (something that he's getting used to). You see, Luffy will be the hero of the entire world, even if he doesn't do things to become a hero. Luffy is the saviour. So Smoker's growth as a character should go through understanding that a pirate can be a hero while his WG is the villain, swallow his pride and give up his black-and-white view of the world (because things are grey like smoke wink wink).
Obviously, Smoker could perform this role without joining the crew, but I believe this situation would put him as only a gloryfied extra between many other allies that are stronger than him. Besides that, Smoker's story is too linked to his obsession on Luffy, so it would be fitting for him to become something more than just an ally. It's a stronger resolution for him to become a Strawhat. And, of course, there are the other reasons presented in the video I shared above.