This is relating to contract programming services, for a project that isn't defined in the contract, so more just hourly contract services. I'm just not sure that I should be taking full liability for any bug that may happen in the future.
It's a bad contract. Do not sign. In fact, for services like this, where your work output is mingled with everyone else's on the team, you are liable for circumstances well beyond your act of creating the code.
Generally, from anecdotes I have read, PI insurance is effective only when you continue to pay the premiums, which for a software consultant can range into the low thousands per year. So if you pay the premiums while you work for such a client, and then stop paying the premiums, you are not covered if they come after you for liability later. PI insurance becomes an annuity payment that you must continue to make into the future. At the going rates commonly found for contract software development many consider it not worth it.
Are you saying that the clause needs to be more specific in what I am indemnifying them for, and that the clause is too broad, or just that if there is a case for liability it needs to state something about how it will be resolved and a limit to my liability?
It will get very complicated when you attempt to negotiate a detailed liability agreement. Again, the wisest course of action here is to line out the liability clause and see if they agree to it.
Essentially, as a contractor, you and most of us do the work equivalent of an employee, for slightly higher rates of pay. Do software development employees take out PI insurance? No.