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.
Ooh La Lana! WWE Diva flaunts sexy curves in these 30 pictures
Photos: Salman Khan returns from Jodhpur to Mumbai
15 'peach' perfect photos of Priyanka Chopra at People's Choice Awards 2017
62 going on 16: These photos of Rekha prove she is 'forever young'
Spotted: Alia Bhatt, Ranveer Singh, Neha Dhupia in Bandra