Glad it was helpful. Here are some further thoughts:
(1) I think it's really best in a symmetry break scenario to break the symmetry explicity at the boundary, by applying a pinning field on the boundary sites. Here is a paper which discusses this approach in detail
https://arxiv.org/pdf/1105.1374
What the pinning will do is make the other ground state now higher in energy, and there will no longer be two ground states. But that is ok and is expected. The idea is that as one makes the system size bigger, both states will still approach the same bulk energy if you subtract off the edge contributions (you can do DMRG on two system sizes, subtract the energies and divide by the number of sites which the systems differ by and this will compute the bulk energy).
It's a cleaner approach since it makes the results no longer depending on which state DMRG happens to pick in a complicated, dynamic way. Instead there is a well defined lowest energy state on any finite system.
(2) To check explicitly if a state is an eigenstate you can compute its energy variance. The code to do this in Julia looks like:
var0 = inner(H,psi0,H,psi0)-inner(psi0,H,psi0)^2
@show var0
For a well-converged eigenstate, var should be quite small, like less than 1E-6.