In his Aug 15 address, Modi attacked Manmohan Singh for not taking the name of Lal Bahadur Shastri while referring to previous prime ministers and for not speaking out strongly against Pakistan's killing of Indian soldiers.
The president, who addressed the nation Wednesday evening, expressed his concern over corruption, Modi said.
"It would have been good if the prime minister today had said something on corruption," he said.
Similarly, he said, the morale of the Indian military would have gone up if Manmohan Singh had used "the language the country expected" over the killing of five Indian soldiers in Kashmir by Pakistani troops.
In a clear reference to Manmohan Singh's tributes to Jawaharlal Nehru, Indira Gandhi and Rajiv Gandhi in his Red Fort speech, Modi said: "It is sad the prime minister only remembered a family. Would it not have been better if he had remembered Sardar Patel (also)."
He said former prime minister Lal Bahadur Shastri also belonged to the Congress but he too was ignored by Manmohan Singh.
Modi said people were sick and tired of corruption.
He used Pranab Mukherjee's address to attack the Congress-led government.
"I listened to the president. I can understand his pain," he said, after Mukherjee spoke about issues confronting the common man. "I associate myself with the concerns of the president."
Modi said he asked the prime minister to call a meeting of chief ministers to remove shortcomings in the food security bill but that wasn't done.
Spotted: Sangeeta Bijlani at store launch in Bandra
Photos: Ajay Devgn and his girl gang promote 'Shivaay'
Irfan Pathan's birthday: Popular brother duos in international cricket
Kumar Sangakkara birthday: Batsmen who hit the most Test double tons
Birthday special: 21 actresses who married businessmen