I believe it's Cloud's subconscious. Here's something I wrote on the matter some time ago:
_______________________________
The voice was certainly Cloud's subconscious.
At one point the voice tells Cloud to ask Tifa about what happened five years before:
(At Junon.)
Quote:
"...That reminds me."
"You again?"
"...Who are you?"
"...You'll find out soon. ......But more importantly,
5 years ago..."
"5 Years ago... Nibelheim?"
"When you went to Mt. Nibel then, Tifa was your guide, right?"
"Yeah.... I was surprised."
"But where was Tifa other than that?"
"...I dunno."
"It was a great place for you two to see each other
again."
"...You're right."
"Why couldn't you see each other alone?"
"...I don't know. I can't remember clearly..."
"Why don't you try asking Tifa?"
"...Yeah."
"Then, get up!"
"Hey wake up. Wake up, Cloud!"
It would have been detrimental to JENOVA's/Sephiroth's plans to tell Cloud to do this, as it was Cloud's fragmented psyche that allowed him to be weak enough to control. Learning the truth would cause him to have to piece the past together and become "fixed," possibly solidifying his sense of self and his mental fortitude, which would make him mentally stable enough to resist JENOVA's/Sephiroth's control.
Note that at the Reunion, JENOVA/Sephiroth makes a point of trying to cause Cloud to question himself, breaking down all confidence in his sense of self that remained, and, thus, making him vulnerable to control at the crucial moment of handing over the Black Materia.
While it would have been a hindrance to what JENOVA/Sephiroth had in mind for Cloud to learn the truth at that point, as it would have strengthened his mental fortitude, it would have done exactly what Cloud's subconscious wanted. When his subconscious speaks with Tifa in the Lifestream, it's trying to help Cloud learn about the truth of his past, the same as the voice telling him to ask Tifa about Nibelheim no doubt must have been, for Cloud's mind would have been stronger had he known the truth of his past, and he would have possibly been able to fend off JENOVA/Sephiroth's control.
Note also that at an earlier time than when the voice spoke to Cloud, it tried reminding him of a time that had taken place five years before in an effort to try to get him to remember the rest of it which didn't come until much later and with Tifa's help:
(While sleeping at Aerith's house)
Quote:
"...seem pretty tired......"
Cloud
".......!?"
"I haven't slept in a bed like this ....in a long time."
Cloud
"....Oh, yeah."
"Ever since that time."
[The scene fades in to Cloud's house in Nibelheim.]
"My, how you've grown."
"I'll bet the girls never leave you alone."
Cloud
"...Not really."
"...I'm worried about you."
"There are a lot of temptations in
the city..."
"I'd feel a lot better if you just
settled down and had a nice girlfriend."
Cloud
"...I'm all right."
"You should have..."
"an older girlfriend, one that'll take care of you."
"I think that would be the perfect type for you."
Cloud
"I'm not interested."
[The scene fades back in to Aerith's house.]
That Cloud remembering the truth of his past would have been detrimental to JENOVA/Sephiroth's plans to use Cloud completely disqualifies it/him/them from having been the voice. Further still, JENOVA/Sephiroth doesn't even recognize Cloud on the Shin-Ra Cargo Ship, and Cloud had been experiencing the voice episodes for a while before that point:
Quote:
"........After a long sleep..."
"...the time..."
"...time has....... come....."
Aerith
"Look, Cloud!!"
[The form of Sephiroth rises up through the floor where the captain's body had been standing.]
Cloud
"Sephiroth! You're alive!"
"........Who are you?"
Cloud
"You don't remember me!? I'm Cloud!"
"Cloud..."
Cloud
"Sephiroth! What are you thinking!? What are you doing!?"
"...the time..... is now......"
Something else to consider -- and that is perhaps the greatest piece of evidence toward this possibility -- is that in the Honey Bee Inn's &$#% Room, Cloud actually encounters his subconscious (in the form of his younger self) and speaks with it briefly:
Quote:
[Cloud enters the room and a bright flash occurs. A translucent form of his younger self his before him.]
Cloud
"Hmm.....? You.....?"
"What are you doing in a place like this?"
[Cloud clutches his head.]
"That's what I want to ask you. Should you be foolin' around
here?"
"You think problems will go away just thinkin' about them?"
[The younger form of Cloud rises and flies forward into Cloud's body.]
"Oh no!"
"Help! Someone...! Hurry!"
"You can't change anything by just sitting back and looking at it."
Cloud
"What are you saying?"
"It's started moving."
Cloud
"What has?"
"Wake up!"
Note particularly that the double of Cloud in the Honey Bee Inn is a younger form of him, just as the form of his subconscious was in Cloud's mind when Tifa helps him piece his past together, and note also that this younger form called to him to stop when he was handing the Black Materia over to Sephiroth at the Temple of the Ancients:
Linkage 1.
Linkage 2.
It is with this same younger form of Cloud that the other transparent forms of him fuse once Tifa has helped Cloud regain his past in the Lifestream. After that, the adult form of him that was hanging overhead fused with the younger form. Beyond this point, there ceases to be any voices in Cloud's mind as there had been before.
Finally, consider that in the game's ending, when we're shown the mental battle with Cloud, the double that rises out of him is an adult at that point, rather than a child, and Cloud was then easily able to either fend off JENOVA/Sephiroth's mental assault, or purge his mind of its/his/their influence as the case may be. This was after the child form of Cloud's subconscious had fused with the adult form in the Lifestream.
While it has been argued that Zack was the voice which Cloud heard, we're given no indication that this would be so, nor is there any logical reason as to why Zack would have been the voice. Zack had been killed by Shin-Ra soldiers before Cloud ever began hearing the voices, and there's no logical reason as to why Zack's Spirit Energy would not have returned to the Lifestream, instead hanging around to speak to Cloud, nor is any indication given pointing toward Zack being the source of the voice.
The only logical conclusion that can be drawn -- and the only one with actual support within the story -- is that the voice was none other than Cloud's subconscious, attempting to get him to recall the truth of his past.