When you use an index like $1,$9 into an array in awk, the index that actually gets used is $1 SUBSEP $9, where SUBSEP is a character that is unlikely to occur in actual data (the actual value is implementation-defined, but octal 34, a character called "file separator", is commonly used). This is due to standard awk only having one-dimensional arrays. Multi-dimensional arrays are "simulated" by concatenating the indexes with this SUBSEP value as delimiter.
GNU awk has real multi-dimensional arrays, but the syntax is [i][j] rather than [i,j].
You may get the original bits of the index returned to you if you split the index on this SUBSEP value:
for (i in col) {
split(i, k, SUBSEP)
year = k[1]
season = k[2]
printf "%s, %s: %s\n", year, season, col[i]
}
or just
for (i in col) {
split(i, k, SUBSEP)
printf "%s, %s: %s\n", k[1], k[2], col[i]
}
Both fragments above assumes that you know that your index i always contains two parts.