And the same with 下个年? Ok 明年 has some logic in in because of 明天, but 去年 is off for me.
We sometimes use 上一年 which means the same with 去年.And we say 上个星期，上个月，also means 上一个星期，上一个月，and we ignore 一 for easy expressions. At the same time，we ignore the 个 in 上一个年 for the same reason. With time passing by, we use them for regulations. As for 去年，昨日，in the ancient time, we use 去，昨 mean past or 过去的，nowadays we remain those words. In my memory, we alse use 去月 means past month.
Apart from 年 not taking a classifier because it itself often functions as a classifier, there is another "reason" which, I believe, is really more general.
If I ask you why is it that you say "last/next year, last/next month, last/next week" but "yesterday/tomorrow", not "last/next day", your answer is probably something along the line of "that's the way we say it in English".
Language is by and large a convention that has developed over time. If we use the structure, vocabulary of one language (usually our native language) to try to interpret another language (usually the language we are trying to learn), we will run into a lot of questions like this. Most of the time, there simply isn't a good, logical answer because the two languages have developed differently, have different ways of looking at the world, and use different ways to express concepts.
'个' is a classifier for object, it can be used for big thing like '(一个)社交网络'; or small thing like '一个苹果'
'年' is a noun, therefore, in theory, it can be treated as an object and we should be able to apply classifier to it. However '年' itself can also be a classifier (for a 'length of time') , as in "一年工夫"
When an object (noun) can also be a classifier, we generally don't add classifier before it.
We say '一个拳头' (a fist) but not '一个拳' because 拳 itself can be a '(action) classifier' , so 'one punch, two punch' is '一拳, 两拳', but not '一个拳, 两个拳'
'一年, 两年' is 'one year, two years long'
'上(一)年, 下(两)年' is 'previous year (that passed) , next two years (to come) ; both refer more to 'length of time' than a unit 年 (year)
We do use 个 for 年, when 年 is clearly refers to the unit 'year' , for example, 一个好年 (a good year) or 一个财政年(度) (a financial year).
上 means "previous", 去 means "last"
It is an idiomatic usage. We use 上年/去年/上月, don't use 去月(but in ancient Chinese we do).
上一个月=前一个月, 前 means "previous", too.
But in idiomatic usage, 前年 doesn't mean “the last year”. It is "the year before last year".
And we use 上一年/上一月/上一日/上两年/上两月/上两日, don't use 上三年/上三月/上三日 in common. But it's not a rule.
In contrast, we often use 前一年/前一月/前一日/前两年/前两月/前两日/前三年/前三月/前三日.