I’m curious why 사슴 고기 is written with a space or why 돼지고기 is written without a space. This is one of those annoying inconsistencies within Korean despite efforts in the past century to shore it up. It’s right up there with words like 맛업다 which is written without a space, but pronounced as if there were.
First of all, if you ask Koreans when to space and when NOT to space, Koreans can't answer it well either. Natives also make tons of mistakes in spacing, so you don't need to be perfect on this. Back to the question, I think it's because Koreans eat pork a lot, but not deer meat. Therefore 소고기, 돼지고기, 닭고기, 양고기, 오리고기 became one word which doesn't need a space, but 악어 고기, 코끼리 고기, 사슴 고기 need a space as it's just two words combined. However natives won't mind writing 사슴고기 without a space, because as you said, spacing in Korea is quite difficult. Second, if you say 맛이 없다, it has 2 meanings, 1)it is not delicious and 2)it has no taste=it's bland. But when you say 맛없다, it only has 1)meaning, it doesn't have a meaning that the food tastes nothing. As the meaning changes, 맛없다 is just one word that can't be separated. There are some vocabs in Korean that meaning changes when there's no space, such as 못 하다(can't do) vs 못하다(not good at), 못 되다(can't become) vs 못되다(naughty).