Improve software code when reviewing paper When reviewing a manuscript describing a new software tool, reviewers are often asked to assess its utility, quality, novelty, ... 

I was wondering if, in addition to the classic comments on the manuscript, it was appropriate to make suggestion to improve the software functionality in itself (if the code is provided with the manuscript)? 

This would be in the case of a software that is not good enough for publication (basically it does not do enough), and for which small additions will make it better. The comment on the code would therefore not be related to the coding "grammar" but ratter to improve the software tool usability for the final user.
In my opinion, if the authors emphasise the developed code as one of their research outputs, and make it public, the reviewers not only can, but should consider it as a material for review, and comment on it. There is a delicate balance, though, to strike.

It is important to check that the code does what is promised in a paper (sanity check). More importantly, it is essential to check if a typical reader of the journal can do the same, and can benefit from the code made public. This includes basic documentation, compile instructions (if any), well-written run-files for each of the examples from the paper, and clear guidelines how to adjust them for other problems.

On the other side, remember that not all academic researchers are necessarily as brilliant in code-dev, as the guys who read Stack Overflow. It may be not appropriate to request that the code is developed and maintained to the highest standards of the modern IT community.