1. Не надо для hover второй раз писать повторяющиеся свойства. Они же не меняются.
Т.е. дополнительная строчка только одна.
.item-photo:hover {
background: url("../images/items/mod/mod1.jpg");
}
2. Картинки вы не выложили. Но обычно для ховера используется какой-то эффект, который реализуется через css (ч/б, прозрачность, приближение и т.д.)
3. Если картинки все таки разные, то логичнее генерировать на php или описывать поведение через js
UPD:
выяснили, что картинки разные
поэтому так:
https://jsfiddle.net/4mhoeknr/