Для ответа на вопрос, почему в данном предложении ставится двоеточие, необходимо вспомнить правила русской пунктуации.
В данном предложении двоеточие ставится в бессоюзном сложном предложении, где вторая часть предложения указывает на причину того, о чем говорится в первой части.
В данном случае, первая часть «Но до свадьбы он не объяснился» представляет собой факт, а вторая часть «не хватило храбрости» объясняет, почему именно он не объяснился до свадьбы.
Таким образом, двоеточие помогает показать причинно-следственную связь между двумя частями предложения.
Ответ: двоеточие ставится в бессоюзном сложном предложении, где вторая часть указывает на причину того, о чем говорится в первой части.