a child aged 6 - 7 years

Do you know that a child aged [color=red]6 - 7 years already uses most of the grammatical constructions of their native language?

[color=red]6 - 7 years
Is this fine as it is? There is no year between “6 years” and “7 years,” so wouldn’t “6 [color=green]and 7 years” be better?

That could be written either way, but the subtle difference lies in the speaker’s view. Your rewrite suggests a view of age in whole numbers. The original has a more fluid view of time, where a 6-year-old and a 6.5-year-old might be seen as slightly different. No, it is not common to see “6.5-year-old,” but it makes my point.

I agree with Mordant.
An alternative way of writing the sentence and maintaining the original meaning would be to use the phrase:
…a child between the ages of 6 and 7 already uses…

Thank you, Mordant and B.