I don't know why JSF is insisting on putting IDs on those tags. It doesn't normally do that.
You should be able to satisfy it by coding 'id="xxxxxx"' attributes on the indicated elements, where "xxxxxx" is a different and unique ID for each element so identified.
But you're not using JSF very gracefully. JSTL should almost never be mixed with JSF. In most cases, JSF has a better-integrated way of doing the same thing. Likewise, you should avoid raw HTML, which, depending on the version of JSF you're using may disappear or get relocated to the wrong part of the display.