Works fantastic in real world.
You can use zenzer diode as cheap valtage reference and LM393 as amplifier.
NOTE that you need a extra pull up resistor if you use a valtage comparator like LM393. Use potentiameter to make sure valtage is balanced among cells.
You can make change on the comparator input to make over charge protection, However, the balance circuit should eat away all excess current so it is not necessary.
Upper circuit is balance circuit for each cell, Lower circuit is under valtage protection for the entire pack. You may change the input valtage to test it out.