xxxxxxxxxx
g = {i:lambda x: ', '.join(list(x)) for i in df.columns[1:]}
output = df.groupby(['ID']).agg(g).reset_index()
#print(output)
# ID Award Type Date
#0 01 PELL, SCH FED, LOC 2021-06-01, 2021-06-01
#1 02 SCH LOC 2021-06-04
#2 03 GRANT, PELL, SCH STA, FED, LOC 2021-06-02, 2021-06-15, 2021-07-01
#If the goal is to only get a string with comma separation, then a shorter way as suggested by @Henry Ecker is ..
output = df.groupby(['ID'], as_index=False).agg(', '.join)