Because that is what a counter does: every cycle where the input is high is counted.
If your intention is to count how often the signal has gone from a low to a high signal, then place a rising trigger in front of the counter. Thus you will count a longer high signal only once.
That's not correct: the CTU and CTD instructions in an Allen-Bradley PLC are edge-triggered (that is, they must see a false-to-true transition to execute a single count-up or count-down).
Of course, the OP didn't necessarily specify that the CTU or CTD instructions were in use; it's possible that the program uses an ADD instruction to count. In this case, what Toine says is correct; the ADD instruction will perform the addition operation as long as the rung-in condition is true, each and every scan.
If the program is using CTU or CTD instructions, and still counting every scan, do a cross reference on the counter itself. When the counter counts up, it sets the .CU bit to be true, as a kind of internal one-shot. The next scan, the CTU will see that its .CU bit is already set, so it will not count up again. Once the rung-in condition goes false, the .CU bit will be reset, and then the next time the rung-in condition is true, the counter will count once more.
The upshot of all of this, is that if you unlatch the .CU bit externally, the counter will count every scan.
Also, while you are cross referencing your counter, check to see if anything is writing to your .ACC value. It may be that the counter itself is not incrementing, but that something is writing to it's count tally somewhere else.
(edit: you win this round, daba...
)