Milley is a veteran of the Iraq and Afghanistan wars and has served as the Army's top officer since August 2015.
Trump is expected to announce his decision Saturday at the annual Army-Navy football game in Philadelphia.
If confirmed, Milley will be the first chairman of the Joint Chiefs of Staff to serve a single four-year term, a new policy made law in 2017.
Dunford originally was nominated for the Joint Chiefs position by former President Barack Obama, serving an initial two-year term. "And I look forward to that", Trump told reporters later Saturday, praising Milley after announcing his nomination. However, one of the officials who spoke with Stars and Stripes said Trump favored Milley's personality.
Trump announced his picks for a new attorney general and a new United Nations ambassador on Friday and initially suggested he might make the military announcement at Saturday's annual Army-Navy football game in Philadelphia.
WASHINGTON, DC - MAY 01: U.S. President Donald Trump (R) shakes hands with U.S. Army Chief of Staff Mark Milley (L) during a Rose Garden event.
Dunford is a former commandant of the Marine Corps and commander of coalition troops in Afghanistan.
President Donald Trump said he'll be making an announcement on Saturday concerning the Joint Chiefs of Staff.
Joseph Dunford, who took on the role in 2015, is expected to serve out his term, which expires later next year.
A native of Winchester, Massachusetts, and a fervent supporter of the Boston Red Sox and other city teams, Milley received his Army commission from Princeton University in 1980.
Some officials said privately that they expected Goldfein to be chosen because the Air Force was due to receive the chairmanship - two Marine generals, an Army general and a Navy admiral have served since the Air Force's last chairman left office in 2005.