How do we know how many machines are currently connected and rendering ?

There is no such thing as "currently connected". That is not how BOINC works. There is also no way to estimate it - only historically.

Does the sum of the "Users in last 24 hours" represent that ?

That is how many users had at least one host actively returning valid results in the past 24 hours. Again, this says nothing about how many are available as the past 24 hours could have had sessions with high memory requirements.

And can't we get a more accurate number for "right now" ?

The BURP statistics handler tracks live numbers for everything session-related at the top of the page and also presents a visual overview when you click on the progress bar link on a session page (if you are logged in). Those numbers are straight from the backend.
"Connected right now" makes no sense. Today we've had 772 unique hosts query the scheduling system, none of them are connected right now.

Since BURP is a community effort the available rendering power is also very fluid. We've had situations where an artist would post a session that needed to be rendered quickly for a school project with a deadline and it was very clear from the statistics that people were leaving their computers on for longer than usual to do their part in meeting that deadline.
Also not all hosts are alike, some have 128 CPUs in them for example...