The conventional wisdom why Putin hasn’t declared war and initiated a general mobilization is that doing so would draw troops from his political power base - big urban areas like Moscow and St Petersburg, thereby increasing potential for political unrest as casualties stack up. As it stands, they’re drawing most of their recruits from impoverished rural areas. The unpopularity of a draft grows exponentially worse the longer the conflict goes on and the more casualties are sustained. It was largely Russian mothers, after all, that put an end to their war in Afghanistan.
Another of the less discussed reasons Putin doesn’t want to make this an official war is to reduce costs. Russian military payrolls are similar to that of the US. Both have complicated benefits packages for active duty servicemembers and their families. When there are wars going on, personnel costs increase dramatically for things like ‘combat pay,’ ‘selective assignment bonuses’, and ‘hazardous duty’ pay. When there is no war going on there’s no need to pay these additional benefits.