Based on the specific conditions in the apex controller, you can setupachieve same conditions using validation rules on Lead object. This will work both in SF Classic and Lightning via the std button and lead path (thenso no need for the visualforce page).
E.g validation rule for the first condition on Promo__c
field
IsConverted && ISBLANK(Promo__c)
Create other validation rules for conditions on Qualification_Score__c
and Flag_Type__c
Make sure that Require Validation for Converted Leads
is enabled under Lead settings.
The validation rule will fire after the user clicks on Convert on the lead conversion page.