Smart lead acid battery charger circuit - is this practical?
Good on you for trying to design your own circuit.

Rather than dissect your circuit, which I think has a few problems, I'd just like to point out a few things with it, analyse what's going on more thoroughly, and suggest you re-think your approach.

First, I'd suggest you try simulating this circuit; perhaps using CircuitLab, if you can stand the nagware, or LTspice or whatever, by simplifying the circuit (substitute a const-current source for the U1 LM317, just put a wire instead of the relay in NC or Open states respectively, a +V source for the battery, and see what your important node voltages &amp; currents are.

If simulating doesn't work out for you, just build this thing, and measure and observe!  This will be the best teacher.

One problem that should come up is the TIP31 transistor (BTW it's not a Darlington like the symbol you've used, but that's not important for the analysis) - there will be a ~0.7V drop across base-emitter junction, which I suspect you've not taken into account?

Also, think about the interplay of the amount of current needed to pull in the relay, the beta (amplification factor) of the TP31 transistor at that low current (that's a mighty big transistor for this job!), and therefore how much base current you need - is that not too small a current for this insensitive beast of a transistor? - and where that puts you on your chosen Zener diode's characteristic curve, and what the actual battery voltage will need to be to activate the relay.  You will need to dive into the datasheets for all these components to work it out.

More fundamentally, think about what happens when the circuit switches from CC to CV mode, what happens at the D1/D2/R5 node, what effect that will have on maintaining the relay engagement - might you have a problem with oscillation?

Also, what happens if power is applied but without the battery connected?

And if you do actually make this circuit for reals, don't forget to do your resistor power calculations, particularly R1!

Solutions to this kind of application typically don't take your approach, because of the short-comings I think you'll discover, in time.  You're going to need a more accurate and stable comparator than a Zener driving the base of a transistor, likely an op-amp comparator chip, and that comparator will likely need to be configured with some hysteresis to avoid oscillations in the system's state switching between CC &amp; CV.

Google "2 stage lead acid battery charger circuit" to get some more ideas.

Then make that circuit, heat and all, and give yourself a pat on the back for getting the job done.  Then and only then listen to the other guys here telling you to "just do it with a switch-mode regulator"!