Как переписать класс?
Я бы сделал так. Переменную endpoint, конечно, можно не инициализировать, а сразу передавать строку в вызов _call_with_endpoint. Но так нагляднее.class Vehicle(API):
    def _call_with_endpoint(self, lang, fields, account_id, endpoint):
        if type(fields) is list:
          fields = self._format_fields(fields)  
        return self._api_call(endpoint=endpoint,
                              fields=fields,
                              language=lang,
                              account_id=account_id)

    def vehicle_stats(self, lang='ru', fields='', account_id=''):
        endpoint = '/tanks/stats/'
        return self._call_with_endpoint(lang=lang,
                                        field=fields,
                                        account_id=account_id,
                                        endpoint=endpoint)
        

    def vehicle_achievements(self, lang='ru', fields='', account_id=''):
        endpoint = '/tanks/achievements/'
        return self._call_with_endpoint(lang=lang,
                                        field=fields,
                                        account_id=account_id,
                                        endpoint=endpoint)
class Vehicle(API):
    def vehicle_stats(self, lang='ru', fields='', account_id='', endpoint = '/tanks/stats/'):  
        if type(fields) is list:
            fields = self._format_fields(fields)	
        return self._api_call(endpoint=endpoint, fields=fields, language=lang, account_id=account_id)

    def vehicle_achievements(self, lang='ru', fields='', account_id='', endpoint = '/tanks/achievements/'):    
        if type(fields) is list:
            fields = self._format_fields(fields)	
        return self._api_call(endpoint=endpoint, fields=fields, language=lang, account_id=account_id
Как-то так. Если надо оставить все по-умолчанию, то просто не пишите последний параметр. Если надо изменить endpoint, то пишите в конце endpoint = "то_что_надо".