So after some digging other people have found the same issue, it seems that when the imager creates the hashed password in firstrun.sh the hash does not match the password. I found solutions on stack exchange as well as pi-hole github.
Running this command creates the correct hash echo 'asl' | openssl passwd -6 -stdin
➜ ~ echo 'asl' | openssl passwd -6 -stdin
$6$tfXWw2djNCKdlyGZ$6q4fKZ7dxWrM1Ubl4aeZ.3izxcum0JC1PgbOA7vPVug/FgVWyeEnGWGXCCr7BDc73BwIcXN6bWNxUNQYEYbsR0
Then I just replace the hash in firstrun.sh in the two places it occurs, boot for first time and im able to log in!
I dont know whether its a macos issue, python version issue or just something random.
One thing I did confirm is that even the default pi install had the same issue, so the issue is the imager, not with asl3.
Hopefully this will help the next person who stumbles on this bug.