These two prefixes create some confusion, because they both mean “occurring twice during.” By convention, a writer can correctly use “bimonthly” and “semimonthly” to mean either “twice a month” or “once every two months.” To avoid confusion, I recommend that you follow these standard usage practices:
biweekly = once every two weeks;
bimonthly = once every two months;
semiweekly = twice a week;
semimonthly = twice a month;
semiannually = twice a year.
If confusion still might result in context, avoid using the prefixes and simply write out the time-frame clearly (“every two weeks”; “twice per month”).