I haven't looked into your logic, but I suppose your question is to include Date also into the grouping? Please try this
sourcetype="WinEventLog:Security" EventCode=4624 OR EventCode=4634 Account_Name=* action=success
| eval User=if(mvcount(Account_Name)>1, mvindex(Account_Name,1), mvindex(Account_Name, 0))
| eval User=lower(User)| search NOT User=*$
| transaction User maxevents=2 startswith="EventCode=4624" endswith="EventCode=4634" maxspan=-1
| convert timeformat="%Y-%m-%d" ctime(_time) AS date
| stats sum(duration) As Duration by date, User, ComputerName
| eval Duration(M)=round((Duration/60), 0)
| table date,User,Duration(M),ComputerName
... View more