The other bit of "fun" with that, on top of what ZZartin siad, is that the TLOG may be in use by other queries that could be inserting, updating, or deleting data.
So for example, 5 million may be good when the system is idle, 3 million may be good when the system has average use, and 1 million may be good when you have heavy usage on the system. I made those numbers up mind you as I don't know your system or what you are changing in it, so it is impossible to say with any certainty.
You may be writing 1 GB of data to the TLOG file with 1 million rows (for example) and if your TLOG file is only 1.1 GB in size, 2 million rows would overfill it. So you'd need to do the 1 million rows, take a backup, do the next 1 million rows, take a backup, and repeat until all are done.
If you REALLY want to know how much it will use, I would say grab a test system, and update all of the rows at once. Or try 2 million rows instead of all, or whatever number makes sense in your scenario. This will tell you (roughly) how much log space is required by your query. Then on your live system, you could look at the tlog usage right before your log backups for several cycles to do an estimate on how much is in use by other queries (I say estimate as today you may use 1 GB and tomorrow you may use 10 GB), and then you can estimate how many rows you can do at once without filling the TLOG between backups.
Again, this is all estimates as we don't know your system or its utilization. BUT you should be able to do a test on a test system to get an idea of how much log space will be used by your query and then you can adjust accordingly.
Also, breaking it up into batches COULD still fill the TLOG. If you don't backup the tlog in between those batches, the tlog will continue to get filled until the next backup. So doing 17 1 million row updates MAY end up using just as much (or more) tlog space as 1 17 million row update.
My understanding is that the point of breaking it up into batches is NOT to stop the tlog from getting full - it is to reduce the blocking.
The above is all just my opinion on what you should do.
As with all advice you find on a random internet forum - you shouldn't blindly follow it. Always test on a test server to see if there is negative side effects before making changes to live!
I recommend you NEVER run "random code" you found online on any system you care about UNLESS you understand and can verify the code OR you don't care if the code trashes your system.