If only the eighth son of Devaki and Vasudev was to kill Kansa, why did Kansa kill the first seven sons?
The reason was the fear and insecurity created in Kamsa's mind after meeting with sage Narada.
After hearing a prophecy by an unembodied voice (Akash vani. It was not by a sage) that eighth son of Devakī would kill him, Kamsa was shocked and decided to kill his sister Devakī. But he has changed his mind after hearing words of Vasudeva. Vasudeva made an agreement that he would bring all his children to Kamsa as soon as they are born. In this way, he thought of saving life of his wife. Kamsa has agreed with this and spared the life of Devakī. They were not even put in jail and let them live in their own house.
When first child was born, Vasudeva took him to Kamsa according to their agreement. But Kamsa was happy to see the baby. He did not harm him and said to Vasudeva
O Vasudeva, you may take back your child and go home. I have no fear of your first child. It is the eighth child of you and Devakī I am concerned with because that is the child by whom I am destined to be killed.
Vasudeva happily took back his first born son to home. But the situation changed when Narada muni has once arrived to Kamsa's place and informed him about Yadu dynasty and inhabitants of Vridavana. He informed how demons incarnated on the earth and how the devatas have took their birth as inhabitants of Vrindavana to help Vishnu to kill the demons. Listening to this, Kamsa has changed his mind. He had decided to kill each and every child born of Devakī's womb out of fear doubting it was Vishnu who has incarnated to kill him.
After the departure of the great saint Nārada, Kaṁsa thought that all the members of the Yadu dynasty were demigods and that any of the children born from the womb of Devakī might be Viṣṇu. Fearing his death, Kaṁsa arrested Vasudeva and Devakī and chained them with iron shackles. Suspecting each of the children to be Viṣṇu, Kaṁsa killed them one after another because of the prophecy that Viṣṇu would kill him
So, he killed six (not seven) children born to Devakī and Vasudeva. Seventh child was Balarama who was tranferred to the womb of Rohini which makes him seventh child. Krishna was eighth child.
You can read the story further in first chapter of tenth Skandha of Śrīmad-Bhāgavatam.
The reason why Narada muni planted this seed of fear and supicion in Kamsa's mind was liberation of six children who were sons of Marichi in their previous birth and born to Devakī and Vasudeva due to the curse of Lord Brahma. It is explained in detailed in this answer of mine. After they were killed in the hands of Kamsa, six children return to their own abode.
All the details of this story is described in Shrimada Bhagavatam, Canto 10, Chapter 1. Now, first of all the prediction was not by any sage (Rishi) but by heavenly voice (Akasavani).
SB 10.1.34 — While Kaṁsa, controlling the reins of the horses, was driving the chariot along the way, an unembodied voice addressed him, “You foolish rascal, the eighth child of the woman you are carrying will kill you!”
After that, Kansa wanted to kill Devaki but Vasudeva promised that he will give all his sons to Kansa. Kansa agreed on that. So, when the first child was born, Vasudeva submitted to Kansa. By this behavior Kansa pleased with Vasudeva and thought that Devaki's eighth child is my enemy not this one. So, he returned that child to Vasudeva. After that sage Narada came there and informed Kansa that how lord Vishnu has killed all the demons. Kansa was frightened and confused. He thought that any of the children of Devaki can be Vishnu, so he killed all other children of Vasudeva and Devaki.
SB 10.1.56 — Each year thereafter, in due course of time, Devakī, the mother of God and all the demigods, gave birth to a child. Thus she bore eight sons, one after another, and a daughter named Subhadrā.
SB 10.1.57 — Vasudeva was very much disturbed by fear of becoming a liar by breaking his promise. Thus with great pain he delivered his first-born son, named Kīrtimān, into the hands of Kaṁsa.
SB 10.1.58 — What is painful for saintly persons who strictly adhere to the truth? How could there not be independence for pure devotees who know the Supreme Lord as the substance? What deeds are forbidden for persons of the lowest character? And what cannot be given up for the sake of Lord Kṛṣṇa by those who have fully surrendered at His lotus feet?
SB 10.1.59 — My dear King Parīkṣit, when Kaṁsa saw that Vasudeva, being situated in truthfulness, was completely equipoised in giving him the child, he was very happy. Therefore, with a smiling face, he spoke as follows.
SB 10.1.60 — O Vasudeva, you may take back your child and go home. I have no fear of your first child. It is the eighth child of you and Devakī I am concerned with because that is the child by whom I am destined to be killed. SB 10.1.61 — Vasudeva agreed and took his child back home, but because Kaṁsa had no character and no self-control, Vasudeva knew that he could not rely on Kaṁsa’s word.
SB 10.1.62-63 — The inhabitants of Vṛndāvana, headed by Nanda Mahārāja and including his associate cowherd men and their wives, were none but denizens of the heavenly planets, O Mahārāja Parīkṣit, best of the descendants of Bharata, and so too were the descendants of the Vṛṣṇi dynasty, headed by Vasudeva and Devakī and the other women of the dynasty of Yadu. The friends, relatives and well-wishers of both Nanda Mahārāja and Vasudeva and even those who externally appeared to be followers of Kaṁsa were all demigods.
SB 10.1.64 — Once the great saint Nārada approached Kaṁsa and informed him of how the demoniac persons who were a great burden on the earth were going to be killed. Thus Kaṁsa was placed into great fear and doubt.
SB 10.1.65-66 — After the departure of the great saint Nārada, Kaṁsa thought that all the members of the Yadu dynasty were demigods and that any of the children born from the womb of Devakī might be Viṣṇu. Fearing his death, Kaṁsa arrested Vasudeva and Devakī and chained them with iron shackles. Suspecting each of the children to be Viṣṇu, Kaṁsa killed them one after another because of the prophecy that Viṣṇu would kill him.
The reason there was a celestial announcement or as we call it "Akashvani" was that kans was a rakshasa and a very cruel one. Even in his previous birth he was a demon called Kalanemi.
After the announcement kans immediately caught hold of Devaki, his sister, by her hair to kill her so there is no way of her giving birth.
But he was convinced by Vasudeva saying that killing her at the time of her wedding would go against his high reputation as a king. Convinced he agrees but kills all their sons due to:
Fear : Didn't want to take any chances
It didn't go in sync with his personality of being a rakshas.
Imagine if someone is predicted (and wished for) to die at the hands of a god and he starts saving all the children out of sympathy or love(who was ready to kill his sister at the time of her wedding), what kind of katha would this be? An ambiguous one.
And more importantly a katha with ambiguous lessons. Thats not what kathas are meant for in hindu mythology.