This latter method is by far the easier method, for everyone. I have worked remotely quite a lot, using both methods, and the second method is far more sustainable, in my opinion. (I mean, you just sync your hours with your workmates, and just make sure you're always online in the online chat application; if the company doesnt chat in your absence on online chat, well, it might not be the right company for you; but many do. A lot).
What if, however, I'm an engineer that's working on a new piece of machinery? This is a project that requires the involvement of many highly skilled workers, electrical engineers, mechanical engineers, computer programmers, etc. I might be responsible for a single system or even component, but my work directly relies on several other's work, and it may change depending on the circumstances (say the mechanical engineer has designed an arm that would damage a critical electrical system). Now you've got a moving target. One day your work was x, now the circumstances shifted and it's y. With potentially hundreds of people involved it would be very difficult to asses what any one person's contribution was based on your standard above. Indeed, if you could asses that from the beginning, you wouldn't need all those engineers to design your machine since you had already done that work.
This generally means that you're better off being less efficient while still meeting the deadlines/goals.
Of course, there's a tradeoff since proving yourself to be more efficient than expected could result in more work etc, but it's not as clear cut as being rewarded for efficiency.
When I look at past and current people I've managed my feeling is maybe 1 in 4 would respond really well to the "results only" workplace and the other 3 might quit.
I think the whole discussion of remote work is colored by the fact that there is a particular personality type - smart, introverted, self-motivated, results-oriented - which operates very well remotely. A lot of these people gravitate toward the tech industry. Some of them get a taste of remote and then they talk it up like it's the future of work for everyone because it is so great for them. I totally get it, I prefer remote myself, and if those people produce then I'm happy to let them be as remote as they want to be forever.
It's just that those people aren't 100% of the workforce (probably not even 30%).
It is more expensive to control the results than to control the process.
Especially in software development, you need quality assurance throughout the whole process, because checking the results or result modules in a blackbox-fashion may lead to catastrophic results.
I know some programmers who were always able to produce code that fulfils the spec, after a few corrections. But any small change in the spec, and the whole thing falls apart. Show them their own code a few weeks later, and they won't be able to maintain it. Leave them alone a few months with their code, and they will refuse to work on it anymore, because they literally can't make any sense of it anymore.
Alas, it was a C program, and any significant change in the (batch) input data would cause the thing to dump core. I'm not blaming the QA for failing to provide all possible variations of the client data (spec???), just the chumps who couldn't do "defensive programming" (e.g. - I/O error or null pointer checks)
Leaving these guys unattended for any length of time would be a disaster.