Some words have "silent" letters, that is letters like the "l" in Holmes that are not traditionally pronounced in standard dialects. With relatively rare words like "Holmes", which is more often written than spoken, individuals may guess the pronunciation from the spelling rather than learning the standard pronunciation from other speakers. This results in some native speakers using an "incorrect" pronunciation.
This is the case here. There are a non-standard pronunciations /hoʊlmz/ ~ /həʊlmz/ (with the ~ probably just indicating a range, it's not a standard piece of punctuation). Speakers who know the standard pronunciation may consider the spelling pronunciation to be a mistake.
Learners should not use spelling pronunciations; they should use one of the standard pronunciations. You should not make an "l" sound in this word.