RDT2.1 - does the Sender listener to "ack" even though state=ready?
From the code above, Yes. 

Regarding your second note. A sender will go to the busy state if it sends a message and there it will wait for an ACK. I can imagine that the reciver would send multiple ACK's only if there is some fault. Usually, such faults are not considered in the basic protocol description, but are considered in the actual implementation.