What you're describing is a problem language learners always face, that it's not enough to just learn vocabulary and grammar. If you just translate each German word into an English word, and rearrange them to fit the rules of English grammar instead of German grammar, the result will not be a proper translation; it might not even make sense. The best you can hope for is something that has about the same meaning, but not phrased in way a that would be natural for native English speaker.
I could attempt a long winded explanation of this, but the upshot is that you can't properly translate from one language to another without understanding the actual meaning of what the words are trying to say. Language is just a tool for encoding meaning, and different languages encode meaning differently, and not just in the sense that the words are different. It's like comparing a map of modern Europe with a map from 1000 years ago in the days of the Holy Roman Empire. It's not just that Germany had a different name 1000 years ago, but Germany as a country did not exist. An individual city, which corresponds to meaning in this analogy, might have been within the HRE then and modern Germany now, but the borders are not the same and saying the HRE is modern day Germany would be false.
An example I ran across recently is the word Kohle. A YouTuber was playing a game that required him to buy some coal but he didn't know if he had enough money. He said Kohle für Kohle, referring to Kohle as meaning both "coal" and "money". Going back to the map analogy, there is an area covered by Kohle which is in the English territory of "money" and not "coal". In general, and this is the main lesson to be learned here, words in different languages may overlap in meaning, but they rarely have the same boundaries. Part of learning a word in German is to get an idea where those boundaries are; you can't just say Kohle means "coal" and call it day.
That said, there are certain types of words where it's most important to map out the meaning landscape they cover. The most notorious are prepositions and it's very difficult for learners to understand which preposition to use in a given situation. I think the best approach is to list out all the situations where a preposition might be used, basically to make a mental map of the meanings the word covers. This map will have different boundaries than the maps of prepositions in your own language.
Light verbs, which include machen, are another troublesome type. These are verbs which have little meaning on their own but have many different meanings depending on which noun their attached to. English has light verbs as well, but you generally have to memorize each verb + noun combination as a separate vocabulary word. I don't think there is any philosophical reasoning behind these combinations, otherwise there would be more correlation between them in different languages. For example, in addition to Spaß machen, there is Schluss machen - "to break up" (a relationship), ein Foto machen - "to take a photo", eine Wahl treffen - "to make a choice", Abschied nehmen - "to say farwell", and so on.
Similarly there are combinations of a preposition and another word where you basically have to learn each combination as a separate vocabulary word. For example Angst vor - "fear of", antworten auf - "to reply to", interessieren für - "to be interested in", and so on. There may be certain themes, for instance vor is often used with something related to danger or fear, there are no rules that work very well. I have more than 60 of these things listed in my notes, but I'm pretty sure that's just the tip of the iceberg.
Speaking of which, idioms are another category. Again, you kind of have to learn these one by one. Sometimes they make sense once you know what they mean, but part of being an idiom is that you can't figure out what it means just from the words, otherwise it would be a common figure of speech. Some are entertaining, but I don't think that's typical; most are like ''es jemandem Leid tun'', a formula which has a special meaning when you say it the right way.
So my advice is that you have to work on creating these maps of meaning. Look up usage examples when you look up a word, DWDS is great for this. Make notes when you encounter an expression that doesn't make sense as individual words. Make notes when you encounter a word that's used in an unexpected way. And in general keep practicing working out the meaning from German words. As they say: Übung macht den Meister.