Don't make the columns as required in the list settings. Use custom JavaScript to check the selected drop-down value.
Based on the selected value you can make other columns as required or show it on the list form. Else remove the required condition and hide those columns.
By this, it will not show the error popup and form will be saved.
Hide/Show columns in Custom List based on dropdown selection
To mark the field as required:
Consider Column name as Column1
having ID Column1ID
. Use following script to make it as a required field.
var column1 = document.querySelector("div[id^='Column1ID][id$='$TextField_inplacerte']";
var column1TR = column1.parentElement.parentElement.parentElement.parentElement ;
var column1Label = column1TR.querySelector("nobr") ;
// Add Required Asterisk to the Label
var starElement = document.createElement("span") ;
starElement. title = "This is a required field." ;
starElement.textContent = " * " ;
starElement.className = "ms-accenText" ;
column1Label.appendChild(starElement) ;