“David.” The Messiah is called “David” by the figure of speech antonomasia (“name change”). See commentary on Ezekiel 34:23.
“prince.” The Hebrew word translated “prince” is nasi (#05387 נָשִׂא or spelled נָשִׂיא nasiy). The root meaning refers to being lifted up, and thus it can mean prince, leader, chief, captain, etc. It can also refer to a rising mist or vapor. In this context or in other contexts in which it refers to the Messiah, “prince” is a good translation because God is the king and the Messiah is his only son and rules under Him and with His authority. As the ruler present and available on earth, the Messiah is the de facto king, and is called the king in Ezekiel 37:24.