While 話す literally means 'to speak', 話をする has the nuance of having a conversation, chatting, discussing, etc, thus implying a somewhat more friendly relationship. So the meaning of the sentences is slightly different. I have invented an imaginary pair of scenarios below to help show the difference.
私は山田さんとしか話をしない。 I don't chat with anyone except Yamada.
Imagine you are working somewhere and although you are acquainted with everyone, let's say that Yamada is the only person you feel comfortable chatting with. You greet everyone else and exchange pleasantries, but that's it. But with Yamada, you might sit together at lunch and have a conversation.
私は山田さんとしか話さない。I don't speak to anyone except Yamada.
Imagine you are working somewhere and the relationships among the workers are extremely bad. Nobody likes each other and you don't even speak to anyone, with the exception of Yamada with whom you do speak sometimes. But you might not be friendly enough to open up and have a chat.
Obviously it's an artificial and exaggerated scene and to some extent context will also matter, but hopefully it illustrates the point that with 話をする, you might infer that the exchange has a little more depth and content than the bare literal meaning of just speaking.