You don't need the stdin redirection " < project2.1.input < project2.2.input " after done in end of loop because data file is read passing filename as grep argument...
Another way to get time in 12h format if using GNU date
Code:
time=$(grep $day project2.2.input | cut -d " " -f3)
time=$(LC_TIME=C date -d $time +"%I:%M %p")