Да, именно так и работает nth-of-type. То есть и иными словами, на CSS эту задачу в чистом виде выполнить нельзя.
Но можно хаком:
button[value="selected"] {
background: green;
/* Все элементы с этим атрибутом */
}
button[value="selected"] ~ button[value="selected"] {
background: red;
/* Элемент, который идет после предыдущего с этим атрибутом и содержащий его же */
}
С учётом того, что у вас их всего два, то это будет работать нормально. Более того, с учётом этого же аспекта можно даже выбрать элементы по середине (так же хаком):