As we may see, that was rather "reducing" and "rotating", not a full withdraw.
Most notably, Russia brought home bombers SU-24 and SU-34, and replaced them with a pack of MI-28 and KA-52 battle helicopters. That reflects new tactics: peace talks with so-called "moderate opposition" in Geneva, and major offense against ISIS on the east. So now Russian air-force stopped flying about the whole Syria from north to south, and moved to support Palmyra offense. Choppers seem to be more suitable for this work.
Why does he choose to withdraw at this moment
We don't know. My best guess it was an attempt to push on Assad and to promote Geneva talks. But there could be other points too.
how would it benefit his government
Just now Russia seems to rely much on the talks. If this works then there will be a win for free. But if not then Putin will return bombers back, as he said a couple of days ago. But I must say that it seems really risky to me, and I see no win-win situation for Russia.
or his ally Assad's
Assad is only to lose here. His main goal was to take Aleppo, but now he can't do that.