There is a machine for some language is a shorthand for, either:
- some machine can accept the language, or
- some machine can decide the language.
They are subtly different things.
When a machine decides a language, and you throw a string at it, it is guaranteed to confirm that the string is in the language, when it is, and to confirm that it is not in the language, when it is not.
When a machine accepts a language, and you throw a string at it, it is guaranteed to confirm that the string is in the language, when it is, and to not produce the verdict that it is in the language, when it is not - but in that case, it may fail to produce any verdict at all.
DFAs always produce a verdict for any string you throw at them: just run the DFA on the string, which will take one step for each character of the string, and when you're done, check whether the DFA is in an accepting state. So DFAs always decide a language, and when we say there is a DFA for a language, we always mean it decides the language.
Not so for TMs. They accept and decide languages differently: they always run until they are in a halting state, and they may never get there. The reason we need to allow this, and that we need to make the distinction between accepting and deciding a language for TMs, is that some languages are semidecidable (some machine accepts them) but not decidable (no machine decides them). So the best we can do, for such languages, is to have a machine that accepts them but does not decide them.