I am optimizing a molecule with PCM and it says it will use 25 displacements.

However, after it has complete the 25 displacements, it goes onto another round of displacements. I was expecting after the (first) 25 displacements, it would have completed – what am I missing?

Also, it seems to me that the calculation was well converged before reaching the last displacement – is there a way to change the tolerance such that it would have stopped sooner?

Psi4 does not have analytical gradients for the PCM contribution: it needs to compute those terms by numerical differentiation, i.e. taking finite differences. To do so, at any given step in the optimization, it will generate displacements of the current geometry in a number of directions and of a given amount, compute their energies, and assemble the gradient. These are the “25 displacements” you see in the output. The larger the molecule, the more displacements will be needed in each optimization step.
In addition, the convergence of a geometry optimization should not be judged solely by the energy of the geometries, but also considering the force (maximum and RMS) and the displacement (maximum and RMS) This is the relevant page in the manual: Geometry Optimization