The PLC has a CPU with memory. A chunk of memory is allocated for use by the programmer - you. Lets say we have 1K of memory. This would actually be 1024 bits. This 1024 is subdivided and allocated to various functions.
We could reserve 16 bits for Input, and another 16 bits for Output. 16 points resrverved for "I", and 16 points reserved for "O". Most likely addressed as I0-I15, and O0-O15. That would be 32 points I/O.
Now we have 992 bits left. We can also reserve another 256 bits for Internal relays. You use these relays in your program for internal functions. M0-M255. Allocate another 256 bits for "L", etc."I" bits, "O" bits, "M" bits, "L" bits, etc. are all specific locations allocated in memory. None of them overlap.
You need more bits for counters, timers, and math functions.
8 bits is a Byte, 16 bits is a Word, and 32 bits is a Double Word.
A typical counter uses 3 Words. 1 for the preset number, another for the current count. The last one is divided up into Status bits - counting, done, etc.
Everything in the PLC needs an allocated (dedicated) section of memory.
A PLC computer probably has 8K or 16K of memory. 512 points of I/O is just 1 portion of that memory (half of 1K). It's easy for a CPU to turn bits on and off, in fact, that's all they do. If you want these bits to also turn on a transistor in an Output module, then extra chips are needed to go from memory to the backplane, then to the module. The same is true for Input modules. Each input point turns on 1 bit of the PLC's memory, via interface chips.
When it says you have 512 points of I/O, this is just the Module limitation. The PLC you describe is capable of communicating to 512 bits from the outside world - it's rack or backplane. This sets the limit of how many modules you can have.
In summary, you are correct. A PLC with 8K of memory will have a limitation of 8192 points total. Add up all of the points to get the total size of memory. The one you describe sounds like it has 20K or more. A higher end model.
I don't know what "I/O device points" are.