In edd_slm_get_variable_price_sites_allowed(), function will return false for variable price item if no specific sites limit is entered. So I propose to return at least 1 as the default value rather than failing the key generation.
if ( isset( $prices[ $price_id ][ 'edd_slm_sites_allowed' ] ) ) {
return absint( $prices[ $price_id ][ 'edd_slm_sites_allowed' ] );
}
else {
return 1; //default to 1
}