Here is a bit more technical approach.
Let's see 맞다 first. There is a grammatical rule called '음절의 끝소리 규칙', meaning 'Ending sound of a syllable rule'. Basically the rule says that every single consonant in the end of a single syllable, such as ㅌ in 밭, should be pronounced as one of these: "ㄱ, ㄴ, ㄷ, ㄹ, ㅁ, ㅂ, ㅇ". In case of 맞다, the syllable 맞 ends with ㅈ, and when ㅈ becomes the ending sound it sounds exactly like ㄷ. So after the first application of grammar 맞다 sounds like 맏다. And then, there is a rule called '된소리되기', meaning 'Becoming 된소리(don't know how to translate this into English)'. 된소리되기 gives us an order that when there are two given consonants: ㄱ, ㄷ, ㅂ, ㅅ, ㅈ in a row, the latter one should be pronounced as 된소리. So the final output(the exact pronunciation) of 맞다 is [맏따].
And there is another word, 맞네요. First procedure is the same: ㅈ becomes ㄷ based on the 음절의 끝소리 규칙. Then ㄷ meets ㄴ - the first sound of '네'. In this case, an another rule called '비음화': if we apply this into the word, ㄷ becomes ㄴ due to the existence of the ㄴ. So in this case the final output is [만네요].
Maybe you can get some detailed information related to those three rules in English, but unfortunately I can't get one for now.