Live updates: follow the latest news on Russia-Ukraine
Mr Macron last week expressed alarm over nuclear security risks in Ukraine after Europe's largest atomic power plant, Zaporizhzhia, was attacked and seized by invading Russian forces.
"President Putin has said that it was not his intention to carry out attacks on these power stations," a French official said.
He said Mr Putin claimed he was prepared to meet UN atomic agency standards for nuclear plant protection.
Mr Putin also said Moscow planned to achieve its aims in Ukraine "through negotiation or through war", the Elysee Palace said.
Mr Macron found Mr Putin "very determined to achieve his objectives", including on "what the Russian president calls the 'de-Nazification' and the 'neutralisation' of Ukraine", the official said.
Mr Putin demanded recognition of the Ukrainian peninsula of Crimea, which was annexed by Russia in 2014, as part of Russian territory.
He also called for recognition of independence for two eastern Ukrainian breakaway regions already officially recognised by Moscow.
These demands are "unacceptable for the Ukrainians", the official said.
Mr Putin denied the Russian army is aiming at civilians after Mr Macron urged him not to endanger people, in line with international law.
Mr Macron said he had "no reason to believe that the Ukrainian army is putting civilians in danger", the official said.
Mr Macron also told Mr Putin of his concerns about a possible attack on the Ukrainian city of Odesa, the Elysee said.
The call, which a presidential official said lasted one hour and 45 minutes and was at Mr Macron's request, was the fourth time they had spoken since the Russian incursion into Ukraine on February 24.
It came after a tense call on March 3 which the Elysee said left Mr Macron feeling "the worst is to come" in Ukraine, with Mr Putin intent on seizing "the whole" of the country.
The Kremlin said Mr Putin blamed Kyiv for failed civilian evacuations from the key Ukrainian port city of Mariupol, which is surrounded by Russian troops.
He "drew attention to the fact that Kyiv still does not fulfil agreements reached on this acute humanitarian issue", the Kremlin said, after two agreements to evacuate Mariupol fell through following allegations of ceasefire breaches.
“The Prime Minister stressed that the British people stand fully behind the Ukrainian people," Downing Street said.
"He said that international support and admiration for President Zelenskyy and the whole of Ukraine grows every day."
The leaders discussed the increasing threat Russia's attacks pose to Ukrainian civilians and Mr Johnson underlined the UK's determination to ensure Mr Putin failed.
He outlined the steps the UK is taking to support Ukraine and the two leaders discussed his six-point plan for international action.
The leaders also discussed the urgent needs of the Ukrainian Armed Forces and Mr Johnson agreed to work with partners to provide more equipment.
He and Mr Zelenskyy discussed the deteriorating humanitarian situation in Ukraine.
Mr Johnson outlined what the UK is doing to provide humanitarian support and impose economic costs on Russia, which strike at the heart of "Putin’s war machine".
This includes calling on other countries to take further action to remove Russia from the Swift international payment system.
Both leaders agreed to continue speaking to ensure the wishes of the Ukrainian people are at the forefront of the international response.