Of course, tasks accessing disjoint sets of objects or reading the same object can execute concurrently.
Concurrency is what happens when the order of evaluation of expressions is unspecified
What kind of thought process sees a conflict between those two statements? After all "accessing disjoint sets of objects...can execute concurrently" means "it doesn't matter which order the reads occur". Which translates to "you don't have to specify which order the reads occur in". And finally you reach the same conclusion: "unspecified order of reading means you can do it concurrently"